:root{color:#1a1a1a;background:#f4f5f7;font-family:Segoe UI,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0}h1{margin:0 0 .5rem;font-size:1.35rem;font-weight:600}h2{margin:0 0 .75rem;font-size:1rem;font-weight:600}.app-shell{max-width:1280px;margin:0 auto;padding:1rem 1.25rem 2rem}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}.app-toolbar{flex-shrink:0;padding-top:.15rem}.example-menu{position:relative}.example-menu-trigger{white-space:nowrap}.example-menu-list{z-index:100;background:#fff;border:1px solid #c9ced6;border-radius:8px;min-width:14rem;max-height:min(70vh,24rem);margin:0;padding:.35rem 0;list-style:none;position:absolute;top:calc(100% + .35rem);right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.example-menu-item{text-align:left;color:#222;background:0 0;border:none;border-radius:0;width:100%;padding:.4rem .85rem;font-size:.85rem;font-weight:400;display:block}.example-menu-item:hover{background:#eef1f8}.layout{grid-template-columns:minmax(320px,480px) 1fr;align-items:start;gap:1.25rem;display:grid}@media (width<=960px){.layout{grid-template-columns:1fr}}.card{background:#fff;border-radius:10px;padding:1rem 1.1rem;box-shadow:0 1px 3px #00000014}label{color:#444;margin-bottom:.2rem;font-size:.78rem;font-weight:500;display:block}label.field-label{flex-wrap:wrap;align-items:center;gap:.35rem .45rem;display:flex}label.field-label.checkbox-label{cursor:pointer;margin-bottom:0}label.field-label.checkbox-label input[type=checkbox]{flex-shrink:0;width:auto;margin:0}.field-label-text{flex:0 auto}.field-help{flex-shrink:0;display:inline-flex;position:relative}.field-help-trigger{color:#555;cursor:help;background:#f0f2f5;border:1px solid #b8bec8;border-radius:50%;width:1.1rem;height:1.1rem;padding:0;font-size:.72rem;font-weight:600;line-height:1}.field-help-trigger:hover,.field-help-trigger:focus{background:#e4e8ef;border-color:#8a919c;outline:none}.field-help-trigger:focus-visible{outline-offset:1px;outline:2px solid #3b6cf0}.field-help-bubble{z-index:50;color:#1a1a1a;pointer-events:none;background:#fff;border:1px solid #c9ced6;border-radius:6px;width:max-content;max-width:18rem;padding:.45rem .55rem;font-size:.75rem;font-weight:400;line-height:1.4;display:none;position:absolute;bottom:calc(100% + .35rem);left:50%;transform:translate(-50%);box-shadow:0 2px 10px #0000001f}.field-help:hover .field-help-bubble,.field-help:focus-within .field-help-bubble{display:block}.field-help-below .field-help-bubble{top:calc(100% + .35rem);bottom:auto}.field-help-bubble-end .field-help-bubble{left:auto;right:0;transform:none}table.legs th .field-help{z-index:10}label.checkbox-label{cursor:pointer;align-items:center;gap:.45rem;margin-bottom:0;display:flex}label.checkbox-label input[type=checkbox]{flex-shrink:0;width:auto;margin:0}.rule-option-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.rule-option-row .checkbox-label{flex:auto;min-width:10rem;margin-bottom:0}.rule-option-row input[type=text],.rule-option-row input:not([type=checkbox]){flex:0 0 6.5rem;width:6.5rem}input,select{border:1px solid #c9ced6;border-radius:6px;width:100%;padding:.45rem .5rem;font-size:.9rem}input:focus,select:focus{border-color:#3b6cf0;outline:2px solid #3b6cf0}input.input-invalid,select.input-invalid{background:#fde8e8;border-color:#d97070}input.input-invalid:focus,select.input-invalid:focus{border-color:#d97070;outline-color:#d97070}.field-grid{grid-template-columns:1fr 1fr;gap:.65rem .75rem;display:grid}.field-span2{grid-column:span 2}.vol-input-row{align-items:stretch;gap:.45rem;display:flex}.vol-input-row input{flex:1;min-width:0}.iv-calc-menu{flex-shrink:0;position:relative}.iv-calc-trigger{white-space:nowrap;height:100%}.iv-calc-menu-list{z-index:100;background:#fff;border:1px solid #c9ced6;border-radius:8px;min-width:14rem;margin:0;padding:.35rem 0;list-style:none;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 4px 16px #0000001f}.iv-calc-menu-heading{color:#444;padding:.35rem .85rem .25rem;font-size:.78rem;font-weight:600}.iv-calc-menu-item{text-align:left;width:100%;font:inherit;color:#1a1a1a;cursor:pointer;background:0 0;border:none;border-radius:0;padding:.4rem .85rem;font-size:.85rem;display:block}.iv-calc-menu-item:hover{background:#eef2ff}.target-date-control{margin-top:1rem}.target-date-current{margin:0 0 .35rem;font-size:.85rem}.target-date-slider{align-items:center;gap:.5rem;display:flex}.target-date-slider input[type=range]{flex:1;min-width:0}.target-date-step-btn{flex-shrink:0;width:2rem;padding:.35rem 0;font-size:1rem;line-height:1}.target-date-slider-label{white-space:nowrap;font-size:.75rem}.btn-row{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}button{cursor:pointer;border:none;border-radius:6px;padding:.5rem .85rem;font-size:.88rem;font-weight:500}.btn-primary{color:#fff;background:#2d4acb}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{color:#222;background:#e8ebf2}.error-banner{color:#8a1f1f;background:#fde8e8;border-radius:8px;margin-bottom:.75rem;padding:.6rem .75rem;font-size:.88rem}.summary-text{white-space:pre-wrap;background:#fafbfc;border:1px solid #e2e5ea;border-radius:6px;max-height:280px;padding:.65rem .75rem;font-family:ui-monospace,monospace;font-size:.78rem;overflow:auto}.chart-wrap{width:100%;height:420px}.legs-table-wrap{max-width:100%;overflow-x:auto}table.legs{table-layout:fixed;border-collapse:collapse;width:100%;min-width:29rem;font-size:.8rem}col.legs-col-type,table.legs th.legs-col-type,table.legs td.legs-col-type{width:calc(4ch + 2rem);min-width:calc(4ch + 2rem)}col.legs-col-expiry,table.legs th.legs-col-expiry,table.legs td.legs-col-expiry{width:calc(10ch + 1.4rem);min-width:calc(10ch + 1.4rem)}col.legs-col-strike,table.legs th.legs-col-strike,table.legs td.legs-col-strike,col.legs-col-qty,table.legs th.legs-col-qty,table.legs td.legs-col-qty{width:calc(5ch + 1.4rem);min-width:calc(5ch + 1.4rem)}col.legs-col-prem,table.legs th.legs-col-prem,table.legs td.legs-col-prem{width:4.5rem;min-width:4.5rem}col.legs-col-actions,table.legs th.legs-col-actions,table.legs td.legs-col-actions{width:2.25rem;min-width:2.25rem}table.legs th,table.legs td{text-align:left;padding:.35rem .25rem}table.legs th{color:#333;border-bottom:1px solid #ddd;font-weight:600;overflow:visible}.column-header-label{align-items:center;gap:.25rem;display:inline-flex}table.legs .legs-col-strike input,table.legs .legs-col-qty input,table.legs .legs-col-expiry input[type=date]{font-variant-numeric:tabular-nums}table.legs input,table.legs select{box-sizing:border-box;width:100%;min-width:0;padding:.3rem .35rem;font-size:.8rem}.muted{color:#666;font-size:.8rem}
