:root{color-scheme:dark;--bg:#101419;--panel:#171c23;--panel2:#1d242d;--line:#2b323d;--ink:#eef0f4;--muted:#8e9baa;--teal:#71dec4;--red:#f18e9b;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans)}button,input,select,textarea{font:inherit}button,select,input[type=range],summary{cursor:pointer}button{color:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--teal)}a{color:var(--teal);text-decoration:none}button{transition:background .15s,border-color .15s}button:disabled{opacity:.4;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid #363e49;border-radius:7px;color:var(--ink);background:#10161d;padding:9px 10px;min-width:0}input[type=number]{font-family:var(--mono);font-size:13px;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button{opacity:0}input[type=number]:hover::-webkit-inner-spin-button{opacity:1}input:focus,select:focus,textarea:focus{border-color:var(--teal)}input[aria-invalid=true]{border-color:var(--red)}input::placeholder,textarea::placeholder{color:#687686}input[type=checkbox]{width:14px;height:14px;accent-color:var(--teal);cursor:pointer}select{font-size:12px}h1,h2,h3,p{margin:0}h1{font-size:34px;line-height:1.25;letter-spacing:-1.2px;font-weight:600}h2{font-size:18px;font-weight:560;letter-spacing:-.4px}h3{font-size:14px;font-weight:550}label{display:block;color:#a8b3c1;font-size:11px;margin:0 0 6px}button{border:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 38px}.brand{display:flex;align-items:center;gap:9px;white-space:nowrap;color:var(--ink);font-size:16px;font-weight:720;letter-spacing:1.4px}.brand-mark{font-size:34px;line-height:1;color:var(--teal);font-weight:400;transform:rotate(-15deg);margin-right:5px}.brand-light{font-weight:400;color:#a8b6c6;margin-left:-5px}.brand-divider{height:19px;width:1px;background:var(--line);margin:0 10px}.brand-sub{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:500}.header-actions{display:flex;align-items:center;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:9px 13px;border-radius:7px;border:1px solid var(--line);white-space:nowrap;font-size:12px;font-weight:550;line-height:1.5;background:transparent}.button:hover{background:#29333f;border-color:#53606f}.primary{background:var(--teal);color:#0f2a25;border-color:var(--teal)}.primary:hover{background:#a3eddc;border-color:#a3eddc}.quiet{color:#cbd4df;background:#1b222b}.local-status{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px;margin-right:7px}.local-status i{height:5px;width:5px;border-radius:50%;background:var(--teal)}main{max-width:1600px;margin:auto;padding:34px 38px 24px}.intro{display:flex;justify-content:space-between;align-items:center;margin:0 0 30px;gap:20px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.6px;color:var(--muted);margin-bottom:9px}.intro .eyebrow{color:var(--teal)}.intro p{color:var(--muted);font-size:12px;margin-top:9px}.intro-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.model-badge{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:5px;padding:7px 11px;color:var(--teal);font-size:15px}.model-badge span{font:11px var(--mono);color:#c6cfda}.small{font-size:11px}.muted{color:var(--muted)}.workspace{display:grid;grid-template-columns:284px minmax(0,1fr);gap:24px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.sidebar{padding:22px 20px;position:sticky;top:18px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.section-heading.compact{margin-bottom:12px}.sidebar .section-heading h2{font-size:15px}.step{color:#647080;font:11px var(--mono)}.field-label{margin-top:5px}.symbol-input{text-transform:uppercase;letter-spacing:1px;font:12px var(--mono);margin-bottom:17px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.input-wrap{display:flex;align-items:center;border:1px solid #363e49;border-radius:7px;background:#10161d;padding:0 9px;min-width:0}.input-wrap:focus-within{border-color:var(--teal)}.input-wrap input{border:0;background:transparent;padding:9px 2px;outline:0;width:100%;font-size:14px}.input-wrap span{color:#708091;font:11px var(--mono)}.accent-input{border-color:#42685f}.accent-input input{color:var(--teal)}.slider-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.slider-caption b{font:11px var(--mono);color:var(--teal)}input[type=range]{appearance:none;-webkit-appearance:none;height:3px;background:#374450;border:0;outline-offset:6px;padding:0;border-radius:2px;width:100%;margin:17px 0 11px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #71dec414}input[type=range]::-moz-range-thumb{width:11px;height:11px;border-radius:50%;border:0;background:var(--teal)}.divider{height:1px;background:var(--line);margin:19px 0}.hold-row{margin-bottom:0;align-items:end}.calendar-note{font-size:10px;color:#b5c1cf;line-height:1.6;margin-bottom:3px}.calendar-note span{color:#778594;font-size:9px}.tiny-pill{font-size:8px;border:1px solid #36404d;border-radius:4px;padding:2px 5px;letter-spacing:.5px;color:#7c8999}.iv-presets{display:flex;gap:5px;margin:7px 0 15px}.iv-presets button{font-size:9px;color:#a6b4c5;background:#232c37;border:1px solid transparent;border-radius:4px;padding:6px 5px;flex:1}.iv-presets button:hover,.iv-presets button.active{color:var(--teal);border-color:#4c7066;background:#263c37}.iv-flow{background:#71dec408;border:1px solid #71dec426;border-radius:6px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#a2c7bd}.iv-flow strong{font:17px var(--mono);color:var(--teal)}.help{font-size:10px;color:#7e8a99;line-height:1.6;margin:10px 0 0}.advanced{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.advanced summary{font-size:11px;display:flex;justify-content:space-between;color:#bbc6d3;list-style:none}.advanced summary::-webkit-details-marker{display:none}.advanced[open] summary{margin-bottom:18px}.advanced .full{margin-bottom:12px;font-size:10px}.advanced>label{margin-top:12px}.advanced textarea{font:11px/1.7 var(--mono);resize:vertical}.sidebar-footer{margin-top:25px;padding-top:15px;border-top:1px solid var(--line)}.sidebar-footer select{margin-top:8px}.main-column{min-width:0;display:flex;flex-direction:column;gap:20px}.analytics-top{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:34px}.mode-switch{display:flex;border:1px solid var(--line);border-radius:7px;background:#141a21;padding:3px}.mode-switch button{background:transparent;color:var(--muted);padding:6px 13px;font-size:11px;border-radius:4px}.mode-switch button.active{background:#303a47;color:#fff;box-shadow:0 1px 3px #0003}.context-chip{font:10px var(--mono);color:var(--muted);text-align:right}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat{border:1px solid var(--line);background:linear-gradient(125deg,#1d252d,#181e26);border-radius:9px;padding:15px 16px;min-height:103px}.stat-label{color:#91a0b1;font-size:10px;white-space:nowrap}.stat-value{font:23px/1.4 var(--mono);letter-spacing:-1px;color:#eff3f7;margin:6px 0 2px;white-space:nowrap}.stat-sub{font-size:9px;color:#8391a1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.positive{color:var(--teal)!important}.negative{color:var(--red)!important}.chart-panel{overflow:hidden}.chart-header{padding:22px 24px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.chart-header select{width:135px}.chart-header h2{font-size:20px}.chart-header .eyebrow{margin-bottom:6px}.chart-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 24px 7px}.tabs{display:flex;gap:3px}.tabs button{font-size:11px;background:transparent;color:var(--muted);padding:6px 11px;border-radius:5px}.tabs button.active{background:#2b3741;color:var(--teal)}.tabs button:hover{color:#d8f4ed}.check-label{display:flex;align-items:center;gap:5px;font-size:10px;margin:0;white-space:nowrap}.chart-area{position:relative;padding:0 14px}#chart{display:block;width:100%;height:auto;min-height:250px;touch-action:pan-y}.chart-tooltip{position:absolute;z-index:4;pointer-events:none;min-width:165px;max-width:260px;background:#0e141eee;border:1px solid #4b596a;border-radius:7px;padding:11px 13px;box-shadow:0 6px 20px #0005;font:11px/1.8 var(--mono)}.tip-head{font:11px var(--sans);color:#aebdcd;margin-bottom:7px}.tip-line{display:flex;justify-content:space-between;gap:16px}.chart-legend{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:7px 20px 15px}.legend-button{padding:2px 0;background:none;color:#a9b6c5;font:10px var(--mono);display:flex;align-items:center;gap:7px}.legend-button.selected{color:#eff6fc}.legend-dot{width:16px;height:3px;border-radius:3px;display:inline-block;flex-shrink:0}.chart-caption{border-top:1px solid var(--line);padding:12px 24px;color:#8291a2;font-size:10px;line-height:1.6;min-height:41px}.contracts-panel,.results-panel,.heatmap-panel{padding:22px 24px 16px}.count-badge{display:inline-flex;align-items:center;justify-content:center;font:10px var(--mono);color:#a5b3c3;width:21px;height:21px;background:#2b3441;border-radius:5px;margin-left:7px;vertical-align:middle}.table-scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:#394759 transparent}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:9px;font-weight:500;color:#8291a3;white-space:nowrap;padding:0 6px 10px}th span{display:block;font-size:8px;color:#607084;font-weight:400}.contracts-table th:first-child{padding-left:0}.contracts-table th:nth-child(2){width:66px}.contracts-table th:nth-child(3){width:70px}.contracts-table th:nth-child(4){width:90px}.contracts-table th:nth-child(5){width:70px}.contracts-table th:nth-child(6){width:55px}.contracts-table th:nth-child(7),.contracts-table th:nth-child(8){width:84px}.contracts-table th:nth-child(9){width:122px}.contracts-table td{padding:5px 5px;border-top:1px solid #252e39;min-width:50px}.contracts-table td:first-child{padding-left:0;min-width:20px}.contracts-table td:last-child{padding-right:0;min-width:20px}.contracts-table input:not([type=checkbox]),.contracts-table select{font:11px var(--mono);padding:7px 5px;min-height:32px;border-color:#35404d;border-radius:5px}.contracts-table input[type=checkbox]{accent-color:var(--leg-color);margin:0}.contracts-table tr.off{opacity:.5}.remove-leg{background:none;color:#738293;font-size:18px;width:18px;padding:0}.remove-leg:hover{color:var(--red)}.contract-footnote{display:flex;justify-content:space-between;gap:10px;margin-top:13px;color:#748394;font-size:9px}.results-table th{padding:0 10px 12px}.results-table th:first-child{padding-left:0}.results-table td{border-top:1px solid var(--line);font:11px var(--mono);padding:14px 10px;white-space:nowrap}.results-table td:first-child{padding-left:0}.results-table td:first-child button{display:flex;align-items:center;gap:7px;background:none;color:inherit;font:inherit;padding:0}.results-table tr.focused{background:#ffffff03}.results-table tr.total{background:#71dec408}.table-note{color:#7b899a;font-size:9px;line-height:1.7;margin-top:8px}.inline-warning{font-size:11px;color:#e3bf80;background:#e3bf800a;border:1px solid #e3bf8026;padding:8px 11px;border-radius:5px;margin-bottom:15px}.heatmap-panel .section-heading{margin-bottom:8px}.heatmap-panel select{width:175px}.matrix-description{color:#8493a4;font-size:10px;margin-bottom:17px}.heatmap{border-collapse:separate;border-spacing:4px;table-layout:fixed;min-width:570px}.heatmap th{font:9px var(--mono);text-align:center;padding:0 0 6px}.heatmap th:first-child{width:68px;text-align:left}.heatmap tbody th{padding:0 5px 0 0;color:#a2afc0}.heatmap td{text-align:center;border-radius:4px;font:10px var(--mono);height:34px;padding:5px 3px;color:#d7e6e2;cursor:pointer;border:1px solid transparent}.heatmap td:hover{border-color:#96b7ad}.heatmap td.unavailable{color:#536172;cursor:default;background:#202630}.heatmap-footer{display:flex;align-items:center;gap:9px;margin:13px 4px 0;font-size:9px;color:#8a98a8}.heatmap-gradient{height:5px;border-radius:5px;width:100px;background:linear-gradient(90deg,#864959,#273037,#356b61)}.heatmap-footer .muted{margin-left:auto;font-size:9px}.methodology{margin-top:28px;padding:18px 24px}.methodology summary{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#b0bdcc;list-style:none}.methodology summary>span:last-child{font-size:10px;color:#738498}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:25px;padding-bottom:6px}.method-grid h3{font-size:12px;color:#d4dee8;margin-bottom:10px}.method-grid p{font-size:10px;color:#8797aa;line-height:1.9;margin-bottom:10px}.page-footer{padding-top:22px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.7px;color:#aab6c5;gap:20px}.page-footer>div{display:flex;gap:20px;align-items:center}.page-footer button{background:none;padding:0;font-size:9px;color:#aab6c5;letter-spacing:0}.page-footer button:hover{color:var(--teal)}.page-footer>div>span{color:#637387;letter-spacing:0}.full{width:100%}.icon-button{background:none;color:#91a0b2;font-size:24px;line-height:1;padding:4px 6px}dialog{width:440px;max-width:calc(100vw - 32px);background:#1b232d;border:1px solid #445262;color:var(--ink);border-radius:13px;padding:24px;box-shadow:0 20px 70px #0008}dialog::backdrop{background:#05090dbb;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog-head h2{font-size:19px}dialog p{margin-bottom:17px}dialog .primary{margin-top:20px}#savedList{margin-bottom:20px;max-height:340px;overflow:auto}.saved-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #34404f;padding:12px 0}.saved-row .load-saved{flex:1;text-align:left;background:none;padding:0;color:#d7e2ed;font-size:12px}.saved-row small{display:block;color:#75869b;font-size:10px;margin-top:4px}.saved-row .delete-saved{background:none;color:#8f9eb0;font-size:18px}.saved-empty{color:#8291a3;font-size:12px;padding:20px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#d0f3e9;color:#102a23;border-radius:7px;padding:12px 20px;box-shadow:0 10px 40px #0007;font-size:12px;z-index:99;max-width:90vw}[hidden]{display:none!important}@media(min-width:1500px){.workspace{grid-template-columns:300px minmax(0,1fr)}.sidebar{padding:24px}.main-column{gap:22px}}@media(max-width:1200px){.topbar{padding:0 24px}.brand-sub,.brand-divider{display:none}main{padding:28px 24px}.workspace{grid-template-columns:260px minmax(0,1fr);gap:18px}.sidebar{padding:20px 16px}.stats{gap:8px}.stat{padding:13px 11px}.stat-value{font-size:20px}.chart-header,.chart-toolbar{padding-left:18px;padding-right:18px}.contracts-panel,.results-panel,.heatmap-panel{padding-left:18px;padding-right:18px}.contracts-table{min-width:735px}.results-table{min-width:730px}.context-chip{font-size:9px}.mode-switch button{padding:6px 8px;font-size:10px}.local-status{display:none}}@media(max-width:900px){.workspace{grid-template-columns:235px minmax(0,1fr);gap:14px}main{padding:25px 18px}.sidebar{padding:18px 14px}.intro-right{display:none}.stats{grid-template-columns:repeat(2,1fr)}.stat{min-height:86px}.analytics-top{flex-wrap:wrap;gap:8px}.context-chip{display:none}.chart-toolbar{flex-wrap:wrap}.tabs button{padding:5px 8px;font-size:10px}.chart-header h2{font-size:17px}.chart-header select{width:110px}.heatmap-footer .muted{display:none}.method-grid{grid-template-columns:1fr;gap:15px}#chart{min-height:250px}.chart-legend{gap:13px}.chart-caption{padding:12px 18px}.intro h1{font-size:29px}.topbar{height:64px;padding:0 18px}.header-actions{gap:7px}.button{font-size:11px;padding:8px 10px}.contract-footnote{font-size:8px}.heatmap-panel select{width:130px}.page-footer>div>span{display:none}}@media(max-width:670px){.workspace{display:flex;flex-direction:column;gap:20px}.sidebar{width:100%;position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;padding:20px}.sidebar>.section-heading,.sidebar>.field-label,.sidebar>.symbol-input,.sidebar>.divider,.sidebar>.iv-flow,.sidebar>.help,.sidebar>.advanced,.sidebar>.sidebar-footer{grid-column:1/-1}.sidebar>.field-row{grid-column:1/-1}.sidebar>.slider-caption,.sidebar>#targetRange,.sidebar>#holdRange,.sidebar>#ivRange,.sidebar>.iv-presets{grid-column:1/-1}.sidebar>.symbol-input{margin-bottom:16px}.sidebar>.divider{margin:15px 0}.sidebar>.advanced{margin-top:14px}.sidebar .field-row{grid-template-columns:1fr 1fr}.sidebar>.iv-presets button{font-size:10px}.main-column{width:100%;gap:16px}.intro{margin-bottom:24px}.intro h1{font-size:27px}.intro p{font-size:11px}.intro .eyebrow{font-size:8px}.brand{font-size:13px;gap:6px}.brand-mark{font-size:28px;margin-right:1px}.header-actions .quiet{font-size:0;gap:0}.header-actions .quiet span{font-size:14px}.header-actions .primary{font-size:10px;gap:5px}.topbar{padding:0 15px}main{padding:25px 15px}.stat-value{font-size:23px}.stat-sub{font-size:9px}.chart-header{align-items:start}.chart-header select{width:112px}.chart-header h2{font-size:17px}.chart-header .eyebrow{font-size:8px}.chart-area{padding:0 4px}#chart{min-height:230px}.chart-caption{font-size:9px}.chart-legend{gap:15px}.legend-button{font-size:9px}.methodology{padding:16px 18px;margin-top:20px}.methodology summary{font-size:10px}.methodology summary>span:last-child{display:none}.page-footer{flex-direction:column;gap:15px;padding-bottom:10px}.page-footer>div{gap:25px}.contracts-panel .eyebrow,.results-panel .eyebrow,.heatmap-panel .eyebrow{font-size:8px}.contracts-panel h2,.results-panel h2,.heatmap-panel h2{font-size:16px}.results-panel .button{font-size:10px}.heatmap-panel .section-heading{align-items:center}.contract-footnote span:last-child{display:none}}
