@font-face{font-family:Switzer;src:url('assets/fonts/Switzer-Semibold.otf') format('opentype');font-weight:600;font-display:swap}
:root{--bg:#F5F2F3;--royal:#021F94;--ink:#0b1742;--muted:#4b5563;--line:rgba(114,139,204,.2);--glass:linear-gradient(145deg,rgba(255,255,255,.82),rgba(240,244,255,.68));--shadow:0 14px 44px rgba(2,31,148,.07),inset 0 1px 0 rgba(255,255,255,.96),inset 0 -1px 0 rgba(124,155,239,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;overflow-x:hidden}body:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 0%,rgba(187,205,255,.38),transparent 47%),radial-gradient(ellipse at 20% 80%,rgba(216,223,255,.4),transparent 45%);z-index:-2}.ambient{position:fixed;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(55px);opacity:.28}.ambient-one{width:420px;height:420px;right:-120px;top:80px;background:radial-gradient(circle,#bacbff,#e6edff 70%)}.ambient-two{width:460px;height:460px;left:18%;bottom:-300px;background:#a8c2ff}.glass{background:var(--glass);border:1px solid rgba(255,255,255,.94);box-shadow:var(--shadow);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border-radius:var(--radius)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,tr[tabindex]:focus-visible{outline:3px solid #7599fa;outline-offset:4px}[hidden]{display:none!important}.status-dot{display:inline-block;width:6px;height:6px;flex-shrink:0;background:#9ab9ff;border-radius:50%;margin-right:6px;box-shadow:0 0 10px #7ca4ff60}main{max-width:1560px;margin:auto;padding:44px 4.3% 0}.eyebrow{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;letter-spacing:1.8px;color:#4b5563}.tiny-line{width:24px;height:2px;background:#97afe9}h1,h2,h3{font-family:Switzer,-apple-system,sans-serif;font-weight:600;margin:0;letter-spacing:-.6px;line-height:1.35}h1{font-size:clamp(36px,4vw,61px);line-height:1.09;letter-spacing:-2.5px;margin-top:17px}h1 span{color:var(--royal)}h2{font-size:24px}h3{font-size:19px}.lead{font-size:15px;line-height:1.85;color:var(--muted);margin:21px 0 28px}.hero-row{display:flex;gap:24px;align-items:center;justify-content:space-between}.hero-badge{display:flex;gap:18px;align-items:center;padding:25px 27px;transform:rotate(-2deg);margin-right:6px;min-width:240px;background:linear-gradient(150deg,#ffffffd9,#e7eeff91);border-radius:24px;border-color:#fff;box-shadow:0 20px 70px #021f9412,inset 0 2px 0 #ffffffee}.hero-badge svg{width:36px;height:40px;fill:none;stroke:#5277cd;stroke-width:1.5}.hero-badge strong{display:block;font:600 19px Switzer;color:var(--royal)}.hero-badge span{display:block;font-size:13px;color:#4b5563;margin-top:7px}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #dce1ee;border-bottom:1px solid #dce1ee;padding:20px 0;margin:14px 0 25px;gap:22px}.step{display:flex;gap:13px;align-items:center;font-size:14px;color:#4b5563}.step>span{display:grid;place-items:center;width:30px;height:30px;font:600 13px Switzer;background:#ffffffac;border:1px solid #fff;box-shadow:0 3px 10px #021f9406;border-radius:9px;color:#4b5563}.step.active>span{color:#fff;background:linear-gradient(135deg,#2c50b4,#021F94);border-color:#3155c1}.step small{display:block;color:#4b5563;font-size:13px;margin-top:2px}.upload-panel{display:flex;align-items:center;gap:22px;padding:32px;margin-bottom:20px;position:relative;overflow:hidden}.upload-panel:before{content:'';position:absolute;top:-80px;right:0;width:320px;height:200px;pointer-events:none;background:radial-gradient(ellipse,#ffffffb3,transparent 70%)}.upload-panel.dragging{outline:2px solid #6e91f0;background:#e3ebff}.upload-panel>div:nth-child(2){flex:1;min-width:180px}.upload-panel h2{font-size:22px}.upload-panel p{font-size:14px;color:#4b5563;margin:6px 0 0}.upload-symbol{width:52px;height:57px;display:grid;place-items:center;background:#e9efffa1;border:1px solid #fff;border-radius:16px;box-shadow:inset 0 2px 2px #ffffff}.upload-symbol svg{width:30px;fill:none;stroke:#3f68bf;stroke-width:1.5}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border-radius:11px;padding:13px 18px;font:600 14px/1.5 Switzer,sans-serif;white-space:nowrap;border:1px solid transparent}.primary-button{color:white;background:linear-gradient(135deg,#2349b4,#021F94);border-color:#143daa;box-shadow:0 6px 16px #021f9422,inset 0 1px 0 #ffffff4d}.primary-button:hover:not(:disabled){box-shadow:0 9px 20px #021f9435,inset 0 1px 0 #ffffff66;background:linear-gradient(135deg,#335cc4,#112d9f)}.primary-button span{font-family:Arial;font-size:19px;font-weight:400}.secondary-button{color:var(--royal);background:linear-gradient(135deg,#ffffffb8,#eaf0ffa8);border-color:#fff;box-shadow:0 5px 15px #021f9407,inset 0 1px 0 #fff}.secondary-button:hover:not(:disabled){background:#e5edff}.text-button{border:0;background:transparent;padding:7px 0;font:600 13px/1.5 Switzer,sans-serif;color:#3658a9;text-align:left}.text-button:hover{text-decoration:underline}.file-button{position:relative;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.support-row{display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#4b5563;margin:17px 6px 34px}.support-row span+span:before{content:'·';margin-right:18px;color:#a7b4cd}.run-status{background:#eaf0fc9c;border:1px solid #d4e0f5;border-radius:11px;padding:14px 17px;color:#4b5563;font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0}.run-status.error{color:#984d3b;background:#fff0ebc7;border-color:#f0d7cc}.run-status.success{background:#e6eefbc2;color:#3158a4;border-color:#d0dffa}.config-panel,.detail-panel,.chart-panel,.insight-panel{padding:26px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:17px;margin-bottom:20px}.panel-heading .eyebrow{margin-bottom:6px}.pill{padding:5px 9px;font-size:12px;border:1px solid #dfe6f5;background:#f1f5ff91;color:#4b5563;border-radius:7px;white-space:nowrap}.config-panel p,.detail-panel p,.insight-panel p{font-size:14px;color:var(--muted);line-height:1.9}.mapping-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:23px 0}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#4b5563;font-weight:500}select,input,textarea{width:100%;min-height:41px;border:1px solid #d9e1f1;background:linear-gradient(135deg,#ffffffc9,#f9fbffb3);padding:11px 12px;color:#243e74;font-size:14px;border-radius:9px;box-shadow:inset 0 1px 2px #021f9403}select{padding-right:24px}.config-panel>label{margin-top:17px}input[type=checkbox]{width:15px;height:15px;min-height:auto;accent-color:var(--royal);flex-shrink:0}.check-label{flex-direction:row!important;align-items:center;font-size:13px;font-weight:400;margin:21px 0 8px}.form-hint{color:#4b5563!important;font-size:13px!important;line-height:1.8!important;margin-top:14px}.config-panel>.primary-button{margin-top:14px}.preview-details{margin-top:24px}.preview-details .table-scroll{margin-top:14px}summary{font-family:Switzer;font-size:15px;cursor:pointer;color:#4b5563}.table-scroll{overflow:auto;border:1px solid #dde5f2;border-radius:13px;background:#ffffff96}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{padding:15px 17px;font-size:12px;font-weight:500;color:#4b5563;letter-spacing:.7px;text-transform:uppercase;background:#f2f6ffc4;border-bottom:1px solid #dfe7f6}td{padding:17px;font-size:14px;border-bottom:1px solid #e7edf8;font-variant-numeric:tabular-nums}tr:last-child td{border:0}tr[data-index]{cursor:pointer}tr[data-index]:hover td{background:#edf3ff}tr.selected td{background:#e5edffb8}.row-title{font-family:Switzer;font-size:14px}.row-sub{font-size:13px;color:#4b5563;margin-top:4px}.net-cell{font-weight:600;color:var(--royal)}.conditional{color:#8b713b!important}.explain-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}.explain-grid h3{margin-top:12px}.explain-grid p{margin-bottom:0}.data-banner{display:flex;gap:14px;align-items:center;padding:20px 24px;margin-bottom:30px}.data-banner .status-dot{background:#7e9ee4}.data-banner>div{flex:1}.data-banner strong{display:block;font-family:Switzer;font-size:15px}.data-banner span:not(.status-dot){display:block;color:#4b5563;font-size:13px;margin-top:4px}.section-heading,.table-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:27px 0 18px}.section-heading p{font-size:14px;color:var(--muted);margin:6px 0 0}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:23px}.plan-card{padding:22px;position:relative}.plan-card.selected{border-color:#93adf3;box-shadow:var(--shadow),0 0 0 1px #b1c3f3; background:linear-gradient(145deg,#fffdfdcb,#eaf0ffc2)}.plan-toggle{display:flex;flex-direction:row;align-items:center;gap:10px}.plan-toggle span{font:600 20px Switzer;letter-spacing:-.4px;color:#223d7a}.plan-toggle small{font-size:12px;margin-left:auto;color:#4b5563}.plan-card p{font-size:14px;line-height:1.8;color:#4b5563;margin:16px 0}.plan-facts{display:grid;gap:5px;font-size:13px;color:#4b5563;min-height:38px}.plan-facts span:before{content:'·';margin-right:7px;color:#4b5563}.plan-card>label:last-child{padding-top:20px;margin-top:14px;border-top:1px solid #dbe3f5}.sim-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:22px}.advanced-panel{margin-top:22px}.advanced-panel p{margin-bottom:0}.run-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:25px 0}.danger{color:#9b5c49}.empty-panel{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;margin-top:20px}.empty-panel svg{width:64px;height:64px;fill:none;stroke:#9aafd9;stroke-width:1.1;margin-bottom:25px}.empty-panel h2{font-size:26px}.empty-panel p{font-size:15px;color:#4b5563;line-height:1.9;margin:15px 0 25px}.notice{border:1px solid #dce5f7;background:#eef3ff9c;color:#4b5563;font-size:14px;line-height:1.8;padding:15px 20px;border-radius:12px;margin:16px 0 24px}.inline-select{flex-direction:row;align-items:center;font-size:13px;white-space:nowrap}.inline-select select{min-width:160px}.footnote{font-size:13px;line-height:1.8;color:#4b5563;margin:12px 0 18px}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));color:#fff;background:linear-gradient(125deg,#1639a0e8,#021f94f2 65%,#2345a9e3);border:1px solid #5e7ed0;box-shadow:0 12px 35px #021f941c,inset 0 1px 0 #ffffff66;border-radius:20px;padding:26px 8px;margin:25px 0}.summary-stat{padding:0 23px;border-left:1px solid #ffffff29}.summary-stat:first-child{border:0}.summary-stat .stat-label{font-size:12px;letter-spacing:.5px;color:#b5c8fa}.summary-stat strong{display:block;font:600 32px/1.5 Switzer;letter-spacing:-.8px;margin:4px 0}.summary-stat small{display:block;color:#91adea;font-size:13px;line-height:1.7}.results-layout{display:grid;grid-template-columns:2.1fr 1fr;gap:21px;margin-bottom:22px}.chart{height:220px}.chart svg{width:100%;height:100%;overflow:visible}.chart text{font-family:-apple-system,sans-serif;font-size:13px;fill:#8a9ab9}.chart-legend{display:flex;gap:23px;justify-content:center;font-size:13px;color:#4b5563;margin-top:17px}.chart-legend span{display:flex;align-items:center;gap:6px}.legend-line{width:15px;height:2px;background:#021F94;display:inline-block}.legend-line.fees{background:#9da9c8}.legend-line.net{background:#6684e4}.insight-panel h3{font-size:26px;line-height:1.3;margin:14px 0;letter-spacing:-.7px}.insight-panel .warning-note{font-size:13px;color:#8a7048;border-top:1px solid #e1e6f1;margin-top:20px;padding-top:18px}.detail-panel{margin-top:20px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 27px}.metric-line{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e4eaf5;font-size:13px;color:#4b5563}.metric-line strong{color:#354e82;font-weight:500;text-align:right}.detail-panel .table-scroll{margin-top:18px}.detail-panel td,.detail-panel th{padding:10px 12px;font-size:13px}.rules-card h3{margin-bottom:15px}.rules-card .rule-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#4b5563;padding:10px 0;border-bottom:1px solid #e2e9f5}.rules-card .rule-line strong{font-weight:500;color:#4b5563;text-align:right}.rules-card .source-links{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#5477bb;margin-top:19px}.rules-card p{font-size:13px;color:#4b5563;line-height:1.9}.rules-card a:hover{text-decoration:underline}footer{display:flex;gap:18px;justify-content:space-between;border-top:1px solid #dce2f1;color:#4b5563;font-size:13px;padding:25px 0;margin-top:49px}.footer-dot{margin:0 8px;color:#b7bfd1}dialog{background:linear-gradient(135deg,#ffffffeb,#f2f6fff2);border:1px solid #fff;border-radius:25px;padding:34px;max-width:570px;color:var(--ink);box-shadow:0 30px 100px #021f9440;backdrop-filter:blur(25px)}dialog::backdrop{background:#11276c44;backdrop-filter:blur(7px)}dialog h2{font-size:28px;margin:14px 0 20px}dialog p{font-size:15px;line-height:1.9;color:#4b5563}dialog a{text-decoration:underline;color:var(--royal)}.dialog-close{float:right}.button-row{display:flex;gap:16px;align-items:center;margin-top:18px}#export-dialog{width:min(700px,90vw);max-width:700px}#export-text{resize:vertical;font:13px/1.7 ui-monospace,monospace;min-height:230px;color:#4b5563}#export-name{font-size:23px;overflow-wrap:anywhere}
@media(min-width:1500px){main{padding-top:55px}.upload-panel{padding:40px}.lead{font-size:15px}.hero-badge{margin-right:40px}.chart{height:250px}}
@media(max-width:1200px){main{padding-inline:30px}.hero-badge{display:none}.upload-panel{flex-wrap:wrap;gap:17px}.upload-panel .text-button{margin-left:auto}.mapping-grid{grid-template-columns:repeat(2,1fr)}.plan-grid{gap:14px}.plan-card{padding:19px}.plan-toggle span{font-size:17px}.summary-stat{padding-inline:16px}.summary-stat strong{font-size:27px}.results-layout{grid-template-columns:1fr}.insight-panel h3 br{display:none}.insight-panel .warning-note{margin-top:12px;padding-top:12px}}
@media(max-width:960px){main{padding:31px 22px 0}.steps{gap:14px}.step{gap:8px;font-size:13px}.step small{font-size:12px}.plan-grid{grid-template-columns:1fr}.plan-card{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;align-items:center}.plan-card p{margin:10px 0}.plan-card>label:last-child{margin:0;padding:0;border:0;grid-column:2;grid-row:1/4}.plan-facts{min-height:auto}.sim-grid{grid-template-columns:1fr}.support-row{flex-wrap:wrap;gap:8px;font-size:12px}.support-row span+span:before{display:none}.summary-strip{grid-template-columns:repeat(2,1fr);gap:20px 0;padding:24px 0}.summary-stat:nth-child(3){border:0}.summary-stat{padding-inline:22px}.explain-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}h1{font-size:46px}.inline-select{font-size:12px}.data-banner{padding:18px}.data-banner strong{font-size:14px}.data-banner span:not(.status-dot){font-size:13px}}
@media(max-width:640px){main{padding:20px 18px 0}.eyebrow{font-size:12px;letter-spacing:1.4px}h1{font-size:43px;letter-spacing:-1.9px;margin-top:16px}.lead{font-size:15px;margin:18px 0 25px}.lead br{display:none}.steps{padding:15px 0;gap:10px}.step>span{width:24px;height:24px;flex-shrink:0;font-size:12px;border-radius:7px}.step{align-items:flex-start;gap:7px;font-size:13px;line-height:1.5}.step small{font-size:12px;margin-top:4px}.upload-panel{padding:24px;gap:18px}.upload-panel>div:nth-child(2){min-width:0;flex-basis:calc(100% - 75px)}.upload-panel h2{font-size:19px}.upload-panel p{font-size:13px}.upload-panel .primary-button{flex:1}.upload-panel .text-button{flex-basis:100%;text-align:center;margin:0}.upload-symbol{width:42px;height:49px}.run-status{font-size:13px}.support-row{margin-bottom:25px;justify-content:flex-start;gap:8px 16px}.config-panel,.detail-panel,.chart-panel,.insight-panel{padding:21px}.mapping-grid{gap:15px 12px}.form-two{gap:12px}label{font-size:13px}input,select,textarea{font-size:13px}.form-hint{font-size:12px!important}.panel-heading{gap:10px}.panel-heading h2{font-size:22px}.data-banner{gap:10px}.data-banner>.status-dot{display:none}.data-banner strong{font-size:13px}.data-banner .text-button{font-size:12px}.section-heading{align-items:flex-start}.section-heading h2{font-size:20px}.section-heading p{font-size:13px}.plan-card{grid-template-columns:1fr;padding:23px}.plan-card>label:last-child{grid-column:auto;grid-row:auto;margin-top:18px;padding-top:18px;border-top:1px solid #dbe3f5}.plan-toggle span{font-size:20px}.plan-toggle small{font-size:13px}.run-actions{display:grid;gap:12px}.run-actions>button{width:100%}.table-heading{display:block}.inline-select{justify-content:flex-end;margin-top:15px}.summary-stat strong{font-size:27px}.summary-stat .stat-label{font-size:12px}.summary-stat small{font-size:12px}.chart{height:180px}.chart-legend{gap:13px;font-size:12px}.metric-grid{grid-template-columns:1fr}.hero-row{align-items:flex-start;flex-direction:column;gap:0}.hero-row>.secondary-button{margin-bottom:16px}.empty-panel{min-height:350px;padding:30px 20px}.empty-panel h2{font-size:24px}.empty-panel p{font-size:14px}.notice{font-size:13px}.explain-grid{margin-top:24px}.explain-grid h3{font-size:20px}footer{font-size:12px;align-items:flex-start;gap:15px}footer>span:last-child{text-align:right;max-width:140px}.button-row{flex-wrap:wrap}dialog{padding:27px;width:90vw}.ambient-one{opacity:.17}.advanced-panel p{font-size:13px}}
@media(prefers-reduced-motion:no-preference){.page{animation:appear .3s ease-out}.primary-button,.secondary-button{transition:box-shadow .15s ease,background .15s ease}.plan-card{transition:box-shadow .2s ease,border-color .2s ease}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}

.file-button{flex-direction:row;align-items:center;gap:18px}

/* Centered navigation */
.site-header{width:min(1440px,100%);margin:24px auto 0;padding:0 40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;position:relative;z-index:20}
.brand{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:var(--royal);font:600 17px/1.3 Switzer,sans-serif;letter-spacing:-.3px}
.brand svg{width:33px;height:34px;fill:none;stroke:var(--royal);stroke-width:1.8}
.brand-trace{stroke:#7196ec;stroke-width:1.2}
.brand small{display:block;margin-top:4px;font:13px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--muted);letter-spacing:0}
.top-navigation{display:flex;align-items:center;gap:5px;padding:6px;border:1px solid rgba(255,255,255,.95);border-radius:50px;background:linear-gradient(135deg,#ffffffc9,#eaf0ff99);box-shadow:0 8px 30px #021f940a,inset 0 1px 0 #fff;backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%)}
.top-navigation a{padding:11px 24px;border:1px solid transparent;border-radius:30px;color:#4b5563;font:600 15px/1.35 Switzer,sans-serif;white-space:nowrap;transition:background .15s ease,color .15s ease}
.top-navigation a:hover{background:#ffffffa8;color:var(--royal)}
.top-navigation a.active{color:var(--royal);border-color:#fff;background:linear-gradient(145deg,#ffffffed,#edf2ffcc);box-shadow:0 3px 12px #021f940d,inset 0 1px 0 #fff}
.header-actions{justify-self:end;display:flex;align-items:center;gap:13px}
.snapshot-chip{font-size:12px;letter-spacing:1.4px;color:#5f78bb}
.icon-button{width:29px;height:29px;border:1px solid #cbd6f1;border-radius:50%;background:#ffffff83;color:var(--royal);font-size:15px}
.shell{margin:0}
main{max-width:1280px;padding:64px 40px 0;margin:auto}
@media(min-width:1500px){main{padding-top:72px}}
@media(max-width:960px){.site-header{padding:0 24px;gap:16px}.brand{font-size:15px}.brand svg{width:27px}.top-navigation a{padding:10px 17px}.snapshot-chip{display:none}main{padding:48px 30px 0}}
@media(max-width:640px){.site-header{margin-top:20px;padding:0 20px;grid-template-columns:1fr auto;gap:20px}.brand{font-size:15px}.brand svg{width:29px}.brand small{font-size:13px}.header-actions{grid-column:2;grid-row:1}.top-navigation{grid-column:1/-1;grid-row:2;justify-self:center;width:min(100%,390px);gap:3px;padding:5px}.top-navigation a{flex:1;text-align:center;padding:11px 8px;font-size:14px}main{padding:36px 20px 0}.shell{margin:0}}
@media(prefers-reduced-motion:reduce){.top-navigation a{transition:none}}

/* One workbench, with explanations on About. */
.simulator-heading{margin-bottom:30px}.simulator-heading h1{font-size:clamp(32px,3.3vw,46px);margin-top:0;letter-spacing:-1.7px}.simulator-heading .lead{margin:12px 0 0}
#simulation-settings,#simulation-results{margin-top:40px;padding-top:32px;border-top:1px solid var(--line);scroll-margin-top:24px}.section-title{margin-bottom:25px}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.results-heading h2{font-size:30px}
#csv-mapping{margin-top:20px}#csv-mapping>summary{display:flex;align-items:center;gap:12px;list-style:none}#csv-mapping>summary:after{content:'+';margin-left:auto;color:#4b5563}#csv-mapping[open]>summary:after{content:'−'}.mapping-body{padding-top:14px}.mapping-body>.primary-button{margin-top:18px}
#page-about>.detail-panel,#page-about>.plan-grid{margin-top:24px}#page-about>.detail-panel p{font-size:15px;line-height:1.85}.top-navigation a{min-width:115px;text-align:center}.header-actions:empty{min-width:0}footer>a{color:#4b5563}
@media(max-width:640px){.simulator-heading{margin-bottom:24px}.simulator-heading h1{font-size:33px}.top-navigation{width:auto;min-width:230px}.top-navigation a{min-width:105px}.site-header{grid-template-columns:1fr auto;gap:18px}.top-navigation{grid-column:2;grid-row:1;justify-self:end;min-width:0}.top-navigation a{min-width:0;padding:10px 14px}.brand{font-size:15px}.brand small{font-size:12px}.brand svg{width:25px}.header-actions{display:none}.results-heading h2{font-size:26px}#simulation-settings,#simulation-results{margin-top:30px;padding-top:25px}#page-about>.detail-panel p{font-size:15px}}
@media(max-width:380px){.site-header{gap:10px;padding-inline:16px}.brand{gap:6px;font-size:14px}.brand svg{width:22px}.top-navigation a{padding:10px 11px;font-size:13px}}

.mapping-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.mapping-toolbar p{margin:0;flex:1}.mapping-toolbar button{flex-shrink:0}.needs-column select{border-color:#b8a669;background:linear-gradient(135deg,#fffdf8eb,#fcf8ec99)}@media(max-width:640px){.mapping-toolbar{align-items:flex-start;gap:14px}.mapping-toolbar button{font-size:13px}}

.csv-requirements{margin:0 0 24px;padding:0 0 0 15px;border-left:2px solid #aabded;color:#4b5563;max-width:1000px;font-size:14px;line-height:1.8}.csv-requirements p{margin:0}.csv-requirements p+p{margin-top:5px}.csv-requirements strong{font-weight:600;color:#4b5563}@media(max-width:640px){.csv-requirements{font-size:13px;padding-left:12px;margin-bottom:22px}.simulator-heading h1{font-size:29px;letter-spacing:-1.2px}}

.derived-panel{padding:16px 18px;border:1px solid #d4dff3;border-radius:12px;background:#edf2fc88;margin:18px 0}.derived-panel>p{margin:0 0 10px;color:#385d9d}.derived-panel details p{font-size:13px}.csv-period{margin:20px 0}.csv-period>p{font-size:13px}.csv-period>summary{font-size:14px}

.session-filter{margin:22px 0 14px;padding:16px 18px;border:1px solid #d6e1f6;border-radius:12px;background:#edf2fc77}.session-filter .check-label{margin:0}.session-filter p{font-size:13px!important;line-height:1.7!important;margin:7px 0 0 23px!important;color:#4b5563!important}@media(max-width:640px){.session-filter{padding:14px}.session-filter p{font-size:13px!important}}

/* Visitor-defined comparison entries. */
.campaign-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin-top:20px}.risk-editor,.custom-comparison{margin-top:22px}.policy-basics{display:grid;grid-template-columns:1fr 1.3fr 1.3fr 1.6fr;gap:18px;margin-top:22px}.policy-stages{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:25px}.policy-stages fieldset{min-width:0;margin:0;padding:20px;border:1px solid #d6e0f3;border-radius:14px;background:#f5f8ff55}.policy-stages legend{padding:0 8px;font:600 17px Switzer;color:#2d4a85}.policy-stages fieldset>label{margin-top:17px}.policy-stages .form-two{margin-top:8px}.custom-comparison .panel-heading{align-items:flex-start}.custom-comparison .panel-heading p{margin:7px 0 0}.custom-comparison>button{margin-top:20px}#policy-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.saved-policy{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:17px 19px;border:1px solid #dce5f7;border-radius:12px;background:#ffffff80}.saved-policy.editing{border-color:#86a3ed;background:#edf2ffb3}.saved-policy h4{font:600 15px Switzer;color:#2d4b86;margin:0 0 6px;overflow-wrap:anywhere}.saved-policy p{margin:3px 0;font-size:13px;line-height:1.7}.saved-policy .policy-actions{display:flex;gap:15px;flex-shrink:0}.saved-policy .text-button{font-size:13px}.custom-comparison #policies-empty{margin:0;color:#4b5563}#policy-status{margin:12px 0 0;min-height:1.5em}.risk-editor button:disabled,.policy-actions button:disabled{opacity:.45;cursor:default}
@media(max-width:960px){.policy-basics{grid-template-columns:1fr 1fr}.saved-policy{align-items:flex-start}.saved-policy .policy-actions{gap:12px}}
@media(max-width:640px){.campaign-fields{grid-template-columns:1fr 1fr;gap:15px}.campaign-fields>label:first-child{grid-column:1/-1}.policy-stages{grid-template-columns:1fr;gap:20px}.policy-basics{gap:16px 12px}.policy-basics>label:last-child{grid-column:1/-1}.policy-basics>label:nth-child(3){grid-column:1/-1}.saved-policy{flex-direction:column;gap:7px;padding:16px}.saved-policy .policy-actions{gap:22px}.custom-comparison>.primary-button{width:100%}.policy-stages fieldset{padding:16px}}

/* Readable type, with account outcomes treated as primary results. */
label,.check-label{color:#4b5563}select,input,textarea{font-size:15px;min-height:48px}.primary-button,.secondary-button{min-height:48px;padding:14px 20px}.text-button{min-height:40px}.form-hint{color:#4b5563!important;font-size:13px!important;line-height:1.7!important}.footnote,.row-sub,.notice,.csv-requirements{color:#4b5563}.pill{font-size:12px}.summary-stat .stat-label{font-size:12px;letter-spacing:.3px;color:#d8e4ff}.summary-stat small{font-size:13px;color:#c0d3ff}.chart text{fill:#4b5563}.chart-legend{color:#4b5563}.saved-policy p{font-size:13px;color:#4b5563}.saved-policy h4{font-size:17px}.saved-policy .text-button{font-size:13px}.saved-policy{padding:21px 22px}.policy-stages legend{font-size:19px}.policy-actions{flex-wrap:wrap}.policy-basics,.campaign-fields{align-items:start}.session-filter p{font-size:13px!important;color:#4b5563!important}.metric-grid{gap:0 32px}.metric-line{align-items:center;min-height:72px;gap:24px;padding:18px 0;font-size:14px;line-height:1.5;color:#4b5563;border-color:#ccd9ef}.metric-line>span{flex:1}.metric-line strong{font-family:Switzer,-apple-system,sans-serif;font-size:20px;font-weight:600;line-height:1.25;color:#173c98;flex-shrink:0;max-width:52%;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}#result-detail{padding:32px;border:1px solid #b5c8ed;background:linear-gradient(145deg,#ffffffed,#eef3ffd9);box-shadow:0 12px 38px #021f9409,inset 0 1px 0 #fff}#result-detail>h3{font-size:24px;color:#122c6a;margin-bottom:14px}#result-detail>p{font-size:14px;color:#4b5563;line-height:1.75}#result-detail>.form-hint{margin-top:24px}.rules-card .rule-line{font-size:13px}.rules-card .source-links{font-size:13px}#page-about>.detail-panel p{font-size:15px}.brand small{font-size:12px}
@media(max-width:960px){.saved-policy{flex-wrap:wrap}.saved-policy .policy-actions{gap:20px}.summary-stat strong{font-size:29px}}
@media(max-width:640px){.site-header{grid-template-columns:1fr;gap:18px}.brand{justify-self:center;font-size:16px}.brand small{font-size:12px}.top-navigation{grid-column:1;grid-row:2;justify-self:center;min-width:240px}.top-navigation a{flex:1;font-size:13px;padding:11px 18px}.policy-basics{grid-template-columns:1fr}.policy-basics>label{grid-column:1/-1}.metric-line{min-height:74px;gap:18px;font-size:14px}.metric-line strong{font-size:20px}#result-detail{padding:23px}#result-detail>h3{font-size:23px}.summary-stat strong{font-size:27px}.summary-stat .stat-label{font-size:12px}.summary-stat small{font-size:13px}.saved-policy h4{font-size:16px}.saved-policy p{font-size:13px}.mapping-toolbar{flex-wrap:wrap}.mapping-toolbar button{font-size:13px}.chart-legend{gap:13px;font-size:12px}.session-filter p{font-size:13px!important}#page-about>.detail-panel p{font-size:15px}.run-actions>button{white-space:normal}.policy-stages{gap:22px}}

/* Slightly smaller type, with darker secondary copy. */
select,input,textarea{font-size:16px}.form-hint{color:#4b5563!important}.session-filter p{color:#4b5563!important}.metric-line{color:#454e5b}.metric-line strong{font-size:20px}#result-detail>h3{font-size:24px}.summary-stat .stat-label{color:#e2eaff}.summary-stat small{color:#d0ddff}button:disabled{opacity:.6}.risk-editor button:disabled,.policy-actions button:disabled{opacity:.6}

/* Historical risk choices stay adjacent, separate from trading fees. */
.csv-risk-panel,.csv-cost-panel{padding:20px;border:1px solid #cfdbef;border-radius:13px;margin:22px 0;background:#f2f6ff85}.csv-risk-panel h3,.csv-cost-panel h3{font-size:18px;margin:0 0 8px;color:#243e74}.csv-risk-panel>p,.csv-cost-panel>p{margin:0 0 14px}.csv-risk-panel .form-two{margin-top:14px;align-items:start}.csv-risk-panel .form-hint,.csv-cost-panel .form-hint{margin:12px 0 0}.csv-risk-panel input:disabled{opacity:.65;background:#edf1f8;color:#5b6477}.csv-units-field{max-width:calc(50% - 8px)}#mapping-risk-fields{min-width:0}#mapping-risk-fields select{width:100%}#csv-cost-choices .check-label{margin-top:16px}#csv-cost-choices[hidden]{display:none}
@media(max-width:640px){.csv-risk-panel,.csv-cost-panel{padding:17px}.csv-risk-panel .form-two{grid-template-columns:1fr;gap:16px}.csv-units-field{max-width:none}}

.export-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;padding-left:22px;margin:12px 0 16px}.export-check h2{margin:0}.export-field-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;padding-left:22px}.export-check .source-field{color:var(--muted,#4b5563)}.export-check .import-error{color:#8b2534}.export-check button{margin-top:16px}@media(max-width:640px){.export-requirements,.export-field-checks{grid-template-columns:1fr}}
/* Provider catalog */
.catalog-topline{display:flex;align-items:center;gap:24px;margin:22px 0 16px}.catalog-topline label{min-width:240px}.catalog-topline p{font-size:14px;color:#45536c}.catalog-selectors{display:grid;grid-template-columns:1fr 1fr .8fr 1.6fr;gap:14px;margin-bottom:22px}.catalog-provider-panel{border:1px solid #ced9f2;background:rgba(244,247,255,.55);border-radius:20px;padding:22px;margin:20px 0}.catalog-stage-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px}.catalog-stage-summary h4{margin:0 0 10px;font-size:17px}.catalog-stage-summary ul{padding-left:20px;margin:0 0 16px}.catalog-stage-summary li{line-height:1.65;color:#354257;font-size:14px}.catalog-provider-panel h4{font-size:17px;margin-top:22px}.catalog-fee-grid,.catalog-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.catalog-blockers{border-left:3px solid #bc6c26;background:#fff9ed;padding:14px 18px;margin-top:16px;border-radius:8px}.catalog-blockers summary{font-weight:650;color:#684011}.catalog-blockers li{margin:7px 0;font-size:14px}.catalog-generic-policy{margin:18px 0}.catalog-generic-policy fieldset{min-width:0}.catalog-choice-grid select{white-space:normal;max-width:100%}.catalog-provider-panel details{margin-top:14px}.catalog-provider-panel details ul{font-size:14px;line-height:1.7}.catalog-provider-panel a{overflow-wrap:anywhere}.saved-policy .provider-saved{font-size:14px;color:#40516f}.catalog-selectors label{min-width:0}
@media(max-width:900px){.catalog-selectors{grid-template-columns:1fr 1fr}.catalog-topline{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:600px){.catalog-selectors,.catalog-stage-summary,.catalog-fee-grid,.catalog-choice-grid{grid-template-columns:1fr}.catalog-provider-panel{padding:16px}.catalog-topline label{min-width:0;width:100%}}

/* Import review keeps only the decisions visible. */
.import-source-details{margin:16px 0;color:var(--muted)}.import-source-details>summary{font-weight:600;cursor:pointer}.export-check-issues:empty{display:none}#export-check-issues .import-error{margin:8px 0}#export-reconstruction-note{padding:12px 15px;background:#edf2fc88;border-radius:10px;color:#344766!important}.export-check .session-filter{margin:18px 0}.export-check #export-next-step{margin:14px 0 0}.export-check #use-export{margin-top:10px}.csv-ready{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 27px;margin:20px 0}.csv-ready h2{font-size:20px}.csv-ready p{margin:5px 0 0;color:var(--muted);overflow-wrap:anywhere}.csv-ready button{flex-shrink:0}.advanced-import-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.advanced-import-intro p{margin:0}.advanced-import-intro button{flex-shrink:0}@media(max-width:640px){.csv-ready{align-items:flex-start;padding:20px;gap:14px}.csv-ready h2{font-size:19px}.csv-ready p{font-size:14px}.advanced-import-intro{align-items:flex-start;flex-direction:column;gap:6px}}

/* The normal path is plan, risk, run. Details keep their existing values. */
.catalog-topline{display:block;margin:14px 0}.catalog-topline summary,.catalog-plan-details summary,.stage-options summary,.growth-options summary,.simulation-options summary{cursor:pointer;font-weight:600;color:#344466}.catalog-topline>label{max-width:400px;margin-top:14px}.catalog-provider-panel{padding:16px 20px}.catalog-provider-panel>details:first-child{margin-top:0}#catalog-plan-details>summary{font-weight:600;color:#263c6e;cursor:pointer}#catalog-fee-summary{font-weight:400;color:#4b5563}.catalog-provider-panel #catalog-defaults-note{margin:10px 0;font-size:13px}.stage-options{margin-top:20px}.stage-options>label,.stage-options>div{margin-top:16px}.growth-options,.simulation-options{border-top:1px solid #d6e0f3;padding-top:18px;margin-top:22px}.growth-options>label{margin-top:16px}.simulation-options .campaign-fields{margin-bottom:12px}.simulation-defaults{margin:22px 0 12px;color:#45536b;font-size:14px}.policy-stages fieldset>label{margin-top:10px}.catalog-generic-policy:has(>label:not([hidden])){padding-top:12px}.risk-editor .button-row{margin-top:22px}.run-actions{margin-top:14px}.catalog-provider-panel:has(#catalog-blockers:not([hidden])){border-color:#b68d49}@media(max-width:640px){.catalog-provider-panel{padding:15px}.catalog-fee-summary{display:block}.simulation-options .campaign-fields{grid-template-columns:1fr}.simulation-options .campaign-fields>label{grid-column:auto}.policy-stages{gap:18px}}

#catalog-provider-panel>summary{font-weight:600;color:#263c6e;cursor:pointer}#catalog-provider-panel[open]>summary{margin-bottom:16px}.comparison-name-option{margin-top:18px;color:#4b5563;font-size:14px}.comparison-name-option label{max-width:480px;margin-top:12px}.policy-basics:has(>label:not([hidden])){margin-top:16px}.policy-basics:not(:has(>label:not([hidden]))){display:none}.catalog-provider-panel+.policy-basics{margin-top:0}.policy-stages{margin-top:20px}

.preset-picker{border:1px solid #d1dcf2;background:#f1f5ff66;border-radius:14px;padding:17px 20px;margin-top:22px}.preset-picker>summary{font-weight:600;color:#233f81;cursor:pointer}.preset-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.preset-choice{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:15px;border:1px solid #d8e1f4;border-radius:12px;background:#ffffff80;cursor:pointer;min-width:0}.preset-choice input{margin-top:4px;min-height:0;flex-shrink:0}.preset-choice strong{display:block;color:#233b70;font-size:15px;line-height:1.5}.preset-choice small{display:block;font-size:13px;color:#4b5563;line-height:1.7;margin-top:4px}.preset-choice.unavailable{background:#f0f2f677;cursor:default}.preset-picker .button-row{flex-wrap:wrap}.preset-picker #preset-status{font-size:14px;margin:12px 0 0}.preset-picker #preset-status:empty{display:none}@media(max-width:640px){.preset-options{grid-template-columns:1fr}.preset-picker{padding:16px}.preset-choice{padding:14px}.preset-picker .button-row{gap:12px}}

/* Keep long model notes out of the chart row. */
.results-layout{align-items:start}
.result-assumptions{padding:18px 24px;margin:0 0 20px;min-width:0}
.result-assumptions summary{cursor:pointer;font-weight:600;color:#344155;display:list-item}
.result-assumptions summary .pill{margin-left:8px;vertical-align:middle}
.result-assumptions .warning-note{color:#555f70;font-size:14px;line-height:1.6;margin-top:14px;padding-top:14px;overflow-wrap:anywhere}
#simulation-results>.table-scroll{min-width:0}
#results-content>.table-scroll table{min-width:1280px}
#results-content>.table-scroll th{white-space:normal;max-width:130px}
#results-content>.table-scroll td:first-child{white-space:normal;min-width:240px;max-width:340px}
@media(max-width:640px){.result-assumptions{padding:18px 21px}}

/* Six selected-result metrics stay in two compact rows. */
#result-summary{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}
#result-summary .summary-stat{border-left:1px solid #ffffff29}
#result-summary .summary-stat:nth-child(3n+1){border-left:0}
@media(max-width:960px){#result-summary{grid-template-columns:repeat(2,minmax(0,1fr))}#result-summary .summary-stat{border-left:1px solid #ffffff29}#result-summary .summary-stat:nth-child(2n+1){border-left:0}}

/* Shared header mark and favicon for Prop Firm Risk Simulator. */
.brand{max-width:100%;min-width:0}.brand-icon{display:block;width:36px;height:36px;flex-shrink:0;border-radius:9px}.brand-copy{min-width:0}.brand-name{display:block;max-width:230px;text-wrap:balance}.brand small{margin-top:3px}
@media(max-width:960px) and (min-width:641px){.brand-name{max-width:190px}.brand-icon{width:34px;height:34px}}
@media(max-width:640px){.brand-name{max-width:none}.brand-icon{width:34px;height:34px}}
@media(max-width:380px){.brand-name{font-size:14px}.brand-icon{width:30px;height:30px}}
