:root{--ink:#0b0c0c;--muted:#6f7773;--line:#e4e9e6;--soft:#f6f8f7;--paper:#fff;--green:#00c805;--green-dark:#008f12;--mint:#edffef;--blue:#536dfe;--orange:#ff8a00;--red:#d7263d;--shadow:0 12px 35px rgba(0,0,0,.07)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:#f6f8f6;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}.skipLink{position:fixed;left:12px;top:-50px;z-index:20;padding:10px;background:white;color:var(--green)}.skipLink:focus{top:12px}.topbar{position:sticky;top:0;z-index:10;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px}.brandMark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--green);color:white;font-weight:900}.brand strong,.brand small{display:block}.brand strong{font-size:14px}.brand small{margin-top:2px;color:var(--muted);font-size:10px}.dataBadge{display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:800}.dataBadge i{width:7px;height:7px;border-radius:50%;background:#77af9b}.dataBadge.connected{background:var(--mint);color:var(--green-dark)}.dataBadge.connected i{background:var(--green)}
.workspace{display:grid;grid-template-columns:minmax(330px,35%) minmax(0,65%);min-height:calc(100vh - 68px)}.controlRail{padding:28px 26px 40px;border-right:1px solid var(--line);background:var(--paper);overflow:auto}.railIntro h1{margin:3px 0 7px;font-family:Georgia,serif;font-size:31px;line-height:1}.railIntro>p:last-child{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.eyebrow{margin:0;color:var(--green);font-family:ui-monospace,SFMono-Regular,monospace;font-size:9px;font-weight:900;letter-spacing:.13em}.controlSection{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.sectionTitle{display:flex;gap:10px;align-items:flex-start;margin-bottom:15px}.sectionTitle>span{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;background:var(--mint);color:var(--green-dark);font-size:10px;font-weight:900}.sectionTitle h2{margin:0;font-size:14px}.sectionTitle p{margin:3px 0 0;color:var(--muted);font-size:10px}.twoFields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:grid;gap:6px;margin-bottom:12px}.field>span{font-size:10px;font-weight:800}.field small{color:var(--muted);font-size:9px;line-height:1.4}input,select,button{font:inherit}input,select{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cfd9d3;border-radius:9px;background:white;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(17,121,87,.12)}.moneyField{position:relative}.moneyField i{position:absolute;left:11px;top:11px;color:var(--muted);font-style:normal}.moneyField input{padding-left:25px}
.pageNav{position:absolute;left:50%;display:flex;gap:3px;padding:3px;border-radius:9px;background:var(--soft);transform:translateX(-50%)}.pageNav a{padding:7px 12px;border-radius:7px;color:var(--muted);font-size:10px;font-weight:800;text-decoration:none}.pageNav a:hover,.pageNav a:focus{color:var(--ink)}.pageNav a.active{background:white;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.presetRow{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.presetRow button{padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--green-dark);font-size:9px;font-weight:800;cursor:pointer}.holdingRow{display:grid;grid-template-columns:54px minmax(58px,1fr) 78px 30px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1ee}.holdingIdentity strong{display:block;font-size:12px}.holdingIdentity span{display:block;color:var(--muted);font-size:8px}.weightSlider{height:5px;min-height:5px;padding:0;border:0;accent-color:var(--green)}.weightInput{min-width:0;min-height:34px;padding:6px 4px;text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.weightInput::-webkit-inner-spin-button,.weightInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.removeHolding{width:30px;height:30px;border:0;border-radius:8px;background:#fff0ef;color:var(--red);font-weight:900;cursor:pointer}.allocationTotal{display:flex;justify-content:space-between;padding:12px 0;color:var(--muted);font-size:10px}.allocationTotal strong{color:var(--green-dark);font-size:13px}.symbolSearch{position:relative;margin-top:6px;padding:12px;border-radius:11px;background:var(--soft)}.symbolSearch .field{margin:0}.symbolSearch>p{margin:7px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.searchResults{position:absolute;left:12px;right:12px;top:72px;z-index:8;overflow:auto;max-height:245px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:var(--shadow)}.searchResult{display:flex;width:100%;justify-content:space-between;gap:12px;padding:11px 12px;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;cursor:pointer}.searchResult:last-child{border-bottom:0}.searchResult:hover,.searchResult:focus{background:var(--mint)}.searchResult strong,.searchResult span{display:block}.searchResult strong{font-size:12px}.searchResult span,.searchResult small{color:var(--muted);font-size:9px}.searchEmpty{padding:14px;color:var(--muted);font-size:10px}
.sourceChoice{display:flex;gap:9px;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:9px;cursor:pointer}.sourceChoice:has(input:checked){border-color:#91cbb5;background:var(--mint)}.sourceChoice input{width:16px;min-height:16px;margin:2px 0}.sourceChoice strong,.sourceChoice small{display:block}.sourceChoice strong{font-size:11px}.sourceChoice small{margin-top:3px;color:var(--muted);font-size:9px}.tokenPanel{margin-top:10px;border:1px solid var(--line);border-radius:9px}.tokenPanel summary{display:flex;justify-content:space-between;padding:10px;cursor:pointer;font-size:10px;font-weight:800}.tokenPanel summary b{color:var(--muted);font-size:9px}.tokenBody{padding:0 11px 12px}.tokenBody>p,.tokenBody>a,#tokenMessage{font-size:9px;line-height:1.45}.tokenBody>p,#tokenMessage{color:var(--muted)}.tokenBody>a{color:var(--green)}.tokenButtons{display:flex;gap:8px}.secondaryButton,.textButton{padding:8px 10px;border-radius:8px;cursor:pointer}.secondaryButton{border:1px solid var(--green);background:white;color:var(--green);font-weight:800}.textButton{border:0;background:transparent;color:var(--red)}.strategySentence{margin-top:20px;padding:13px;border-radius:10px;background:#eff5f2;color:#355147;font-size:10px;line-height:1.5}.runButton{width:100%;margin-top:12px;padding:13px;border:0;border-radius:10px;background:var(--green);color:white;font-weight:900;box-shadow:0 8px 18px rgba(17,121,87,.22);cursor:pointer}.runButton:hover{background:var(--green-dark)}.runButton:disabled{opacity:.55;cursor:wait}.riskNote{margin:12px 2px 0;color:var(--muted);font-size:8px;line-height:1.4}
.historyRangeRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-2px 0 8px}.historyRangeRow>span{color:var(--muted);font-size:9px;font-weight:800}.historyRangeRow>div{display:flex;gap:5px}.historyRangeRow button{padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--green-dark);font-size:8px;font-weight:800;cursor:pointer}.historyRangeRow button:hover,.historyRangeRow button:focus{border-color:var(--green);background:var(--mint)}.historyHelp{margin:0 0 12px;color:var(--muted);font-size:8px;line-height:1.45}.sourceChoice.experimentalChoice:has(input:checked){border-color:#e6b76d;background:#fff8ea}.experimentalChoice strong:after{content:"BETA";margin-left:6px;padding:2px 4px;border-radius:4px;background:#ffe4b8;color:#88540b;font-size:7px;letter-spacing:.05em}
.resultsPane{min-width:0;padding:34px 34px 60px;background:linear-gradient(180deg,#f7f9f7,#eef3f0)}.resultsHeader{display:flex;justify-content:space-between;gap:25px;align-items:end}.resultsHeader h2{margin:5px 0 7px;font-family:Georgia,serif;font-size:28px}.resultsHeader>div>p:last-child{margin:0;color:var(--muted);font-size:11px}.legend{display:flex;flex-wrap:wrap;gap:13px;color:var(--muted);font-size:9px}.legend span{display:flex;gap:5px;align-items:center}.legend i{display:block;width:18px;height:3px;border-radius:3px}.strategySwatch{background:var(--green)}.qqqSwatch{background:var(--orange)}.spySwatch{background:var(--blue)}.emptyResult{display:grid;place-items:center;min-height:570px;text-align:center}.emptyResult strong{margin-top:-130px}.emptyResult>p{margin-top:-115px;color:var(--muted);font-size:11px}.emptyChart{width:100%;opacity:.28}.emptyChart svg{width:100%}.emptyChart path{fill:none;stroke:#8ab6a5;stroke-width:5}.emptyChart path:last-child{stroke:#aab7b1;stroke-width:3}.loadingResult{display:flex;align-items:center;justify-content:center;gap:13px;min-height:570px}.loadingResult strong,.loadingResult p{display:block;margin:0}.loadingResult p{margin-top:4px;color:var(--muted);font-size:10px}.spinner{width:28px;height:28px;border:4px solid #c6e7da;border-top-color:var(--green);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.errorBanner{margin-top:20px;padding:14px;border:1px solid #e3b5b5;border-radius:10px;background:#fff2f2;color:#8e3333;font-size:11px}.metricCards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}.metricCard{padding:17px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 8px 25px rgba(24,46,37,.04)}.metricCard.featured{border-color:#8ac7af;background:linear-gradient(145deg,#fff,#eefaf5)}.metricCard .metricLabel{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;font-weight:800}.metricCard h3{margin:9px 0 3px;font-size:24px}.metricCard>span{color:var(--muted);font-size:9px}.metricDetails{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px;padding-top:10px;border-top:1px solid var(--line)}.metricDetails small,.metricDetails strong{display:block}.metricDetails small{color:var(--muted);font-size:8px}.metricDetails strong{margin-top:2px;font-size:11px}.chartCard,.explanationCard,.tableCard,.assumptionsCard{margin-top:14px;border:1px solid var(--line);border-radius:13px;background:white}.chartCard{padding:18px}.chartTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chartTop strong,.chartTop span{display:block}.chartTop span{margin-top:3px;color:var(--muted);font-size:9px}.chartMode{padding:6px 8px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:8px}.chartScroll{overflow:auto}.chartScroll svg{display:block;width:100%;min-width:620px;height:auto}.gridLine{stroke:#e6ece8;stroke-width:1}.axisLabel{fill:#7a8781;font-size:10px}.chartPath{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.strategyPath{stroke:var(--green);stroke-width:4}.qqqPath{stroke:var(--orange)}.spyPath{stroke:var(--blue)}.explanationCard{padding:20px}.explanationCard h3{max-width:780px;margin:7px 0 0;font-family:Georgia,serif;font-size:21px;line-height:1.35}.warningList{display:grid;gap:7px;margin-top:13px}.warning{padding:9px;border-radius:8px;background:#fff5e9;color:#825022;font-size:10px}.bottomGrid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.tableCard,.assumptionsCard{padding:18px}.cardHead{display:flex;justify-content:space-between;align-items:end}.cardHead h3,.assumptionsCard h3{margin:0;font-size:14px}.cardHead span{color:var(--muted);font-size:8px}.tableWrap{overflow:auto}table{width:100%;margin-top:13px;border-collapse:collapse;font-size:10px}th,td{padding:9px;border-bottom:1px solid var(--line);text-align:right}th:first-child,td:first-child{text-align:left}.assumptionsCard ul{margin:13px 0 0;padding-left:17px;color:var(--muted);font-size:9px;line-height:1.55}
@media(max-width:950px){.workspace{grid-template-columns:1fr}.controlRail{border-right:0;border-bottom:1px solid var(--line)}.resultsPane{padding:28px 22px 50px}}@media(max-width:620px){.topbar{padding:0 14px}.brand small{display:none}.brand>span:last-child{display:none}.pageNav{position:static;margin-left:auto;transform:none}.dataBadge{display:none}.controlRail{padding:22px 16px}.resultsPane{padding:24px 14px}.resultsHeader{align-items:flex-start;flex-direction:column}.metricCards,.bottomGrid{grid-template-columns:1fr}.twoFields{grid-template-columns:1fr}.holdingRow{grid-template-columns:48px minmax(48px,1fr) 76px 30px;gap:7px}.legend{gap:8px}}

/* Chart-first, Robinhood-inspired visual direction without copying its branding. */
body{background:#fff}.topbar{height:64px;background:rgba(255,255,255,.97)}.brandMark{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--green)}.railIntro h1,.resultsHeader h2,.explanationCard h3{font-family:inherit;letter-spacing:-.035em}.workspace{min-height:calc(100vh - 64px)}.resultsPane{background:#fff}.metricCard{box-shadow:none}.metricCard.featured{border-color:#9bea9d;background:#f6fff6}.runButton{color:#071607;box-shadow:none}.strategySentence{background:#f4f7f5;color:#28312d}.emptyChart path{stroke:var(--green)}

/* Direct allocation editing: each row is independent and cash can absorb the remainder. */
.presetRow{display:flex;flex-wrap:wrap}.presetRow button{flex:1 1 125px}.percentField{display:grid;grid-template-columns:minmax(0,1fr) 12px;align-items:center;gap:3px}.percentField input{width:100%}.percentField span{position:static;color:var(--muted);font-size:9px;line-height:1;pointer-events:none}.cashRow{margin-top:5px;border:1px solid #cfe5d8;border-radius:10px;padding:10px 8px;background:#f7fcf8}.cashMark{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#dff6e6;color:var(--green-dark);font-weight:900}.allocationTools{display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:12px}.allocationButtons{display:flex;flex-wrap:wrap;gap:6px}.allocationTools button{padding:7px 9px;border:1px solid var(--green);border-radius:8px;background:white;color:var(--green-dark);font-size:9px;font-weight:800;cursor:pointer}.allocationTools button:disabled{border-color:var(--line);color:#9aa39f;cursor:not-allowed}.allocationTools small{color:var(--muted);font-size:9px;text-align:right}.allocationTotal{margin-top:7px;padding:10px;border-radius:8px;background:var(--soft)}.allocationTotal.valid strong{color:var(--green-dark)}.allocationTotal.under{background:#fff8e7}.allocationTotal.under strong{color:#9a6510}.allocationTotal.over{background:#fff0ef}.allocationTotal.over strong{color:var(--red)}.runButton:disabled{cursor:not-allowed}
.controlRail{position:sticky;top:64px;align-self:start;height:calc(100vh - 64px);overflow-y:auto}.resultsPane{min-height:calc(100vh - 64px)}
@media(max-width:950px){.controlRail{position:static;height:auto;overflow:visible}}

/* Interactive chart: explicit coverage, time windows, hover values, and horizontal zoom. */
.coverageNotice{margin:0 0 12px;padding:10px 12px;border:1px solid #f0d8b7;border-radius:9px;background:#fff8ed;color:#755021;font-size:10px;line-height:1.45}.chartToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.rangeButtons,.zoomButtons{display:flex;align-items:center;gap:5px}.rangeButtons button,.zoomButtons button{min-width:31px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--muted);font-size:9px;font-weight:800;cursor:pointer}.rangeButtons button:hover,.zoomButtons button:hover{border-color:#9fcdb1;color:var(--green-dark)}.rangeButtons button.active{border-color:var(--green);background:var(--mint);color:var(--green-dark)}.zoomButtons span{min-width:28px;color:var(--muted);font-size:9px;text-align:center}.zoomButtons button:disabled{opacity:.4;cursor:not-allowed}.chartScroll{overflow-x:auto;overflow-y:hidden;border-radius:8px;scrollbar-color:#bdd4c8 transparent;scrollbar-width:thin}.chartScroll:focus{outline:2px solid rgba(0,200,5,.3);outline-offset:2px}.chartCanvas{position:relative;min-width:620px;transition:width .18s ease}.chartCanvas svg{display:block;width:100%;height:auto;cursor:crosshair}.chartTooltip{position:absolute;z-index:3;top:12px;min-width:170px;padding:10px 11px;border:1px solid #dce5e0;border-radius:9px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(0,0,0,.11);font-size:9px;line-height:1.45;pointer-events:none;white-space:nowrap}.chartTooltip strong,.chartTooltip span{display:block}.chartTooltip>strong{margin-bottom:5px;font-size:10px}.chartTooltip .tooltipRow{display:grid;grid-template-columns:1fr auto;gap:12px}.chartTooltip .tooltipRow span:last-child{font-variant-numeric:tabular-nums;font-weight:800}.chartTooltip .tooltipDifference{margin-top:6px;padding-top:6px;border-top:1px solid var(--line);color:var(--muted)}.hoverCrosshair{stroke:#84938c;stroke-width:1;stroke-dasharray:4 4}.hoverDot{stroke:white;stroke-width:2}.chartHint{margin:8px 0 0;color:var(--muted);font-size:9px}.chartPath{pointer-events:none}
@media(max-width:620px){.chartToolbar{align-items:flex-start;flex-direction:column}.rangeButtons,.zoomButtons{width:100%;flex-wrap:wrap}.rangeButtons button{flex:1}.chartTooltip{min-width:155px}}

/* One-page instrument builder: a ticker can be represented by shares, a call, or a put. */
.stockHolding .holdingIdentity span{color:var(--muted)}.callHolding{border-left:3px solid var(--green);padding-left:7px}.putHolding{border-left:3px solid var(--blue);padding-left:7px}.short_putHolding{border-left:3px solid var(--orange);padding-left:7px}.callHolding .holdingIdentity span{color:var(--green-dark)}.putHolding .holdingIdentity span{color:var(--blue)}.short_putHolding .holdingIdentity span{color:#9a5b00}
.searchResultChoice{display:grid;gap:8px;padding:11px 12px;border-bottom:1px solid var(--line);background:white}.searchResultChoice:last-child{border-bottom:0}.searchIdentity{display:flex;justify-content:space-between;gap:12px}.searchIdentity strong,.searchIdentity span{display:block}.searchIdentity>span:last-child{overflow:hidden;color:var(--muted);font-size:9px;text-align:right;text-overflow:ellipsis;white-space:nowrap}.searchIdentity small{color:var(--muted);font-size:8px}.instrumentChoices{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.instrumentChoices button{padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--ink);font-size:9px;font-weight:800;cursor:pointer}.instrumentChoices button:hover,.instrumentChoices button:focus{border-color:var(--green);background:var(--mint);color:var(--green-dark)}
.optionRules{display:grid;gap:8px;transition:opacity .15s}.optionRules.inactive{opacity:.48}.optionRules.inactive:before{content:"Add a call or put to activate these settings.";padding:9px 10px;border-radius:8px;background:var(--soft);color:var(--muted);font-size:9px}.optionRuleRow{display:grid;grid-template-columns:minmax(105px,1fr) 92px 105px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:9px}.optionRuleRow>div{align-self:center}.optionRuleRow strong,.optionRuleRow small{display:block}.optionRuleRow strong{font-size:10px}.optionRuleRow small{margin-top:2px;color:var(--muted);font-size:8px;line-height:1.3}.optionRuleRow label span{display:block;margin-bottom:4px;color:var(--muted);font-size:8px}.optionRuleRow input,.optionRuleRow select{min-height:34px;padding:6px}.optionRuleRow input{text-align:center}.strikeRule{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr) 110px;gap:8px!important;align-items:end!important;margin-top:4px;padding-top:9px;border-top:1px solid var(--line)}.strikeRule>small{grid-column:1/-1;margin:0}.strikeValueField{display:grid!important;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:3px}.strikeValueField input{width:100%}.strikeValueField b{color:var(--muted);font-size:9px;text-align:center}.callRuleRow{border-left:3px solid var(--green)}.putRuleRow{border-left:3px solid var(--blue)}.advancedPanel{border:1px solid var(--line);border-radius:9px}.advancedPanel summary{padding:10px;color:var(--muted);font-size:9px;font-weight:800;cursor:pointer}.advancedBody{padding:2px 11px 4px}.realDataHelp{margin:9px 2px 0;color:var(--muted);font-size:9px;line-height:1.45}
@media(max-width:620px){.optionRuleRow{grid-template-columns:1fr 1fr}.optionRuleRow>div{grid-column:1/-1}.strikeRule{grid-template-columns:1fr}.strikeRule>small{grid-column:1}.instrumentChoices button{padding:9px 6px}}

/* Each option allocation owns its expiration, replacement, and strike rule. */
.holdingOptionSettings{grid-column:1/-1;margin:2px 0 5px;border:1px solid var(--line);border-radius:9px;background:#fbfcfb}.holdingOptionSettings summary{padding:8px 10px;color:var(--green-dark);font-size:9px;font-weight:850;cursor:pointer}.putHolding .holdingOptionSettings summary{color:var(--blue)}.short_putHolding .holdingOptionSettings summary{color:#9a5b00}.holdingOptionGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:2px 10px 10px}.holdingOptionGrid label>span{display:block;margin-bottom:4px;color:var(--muted);font-size:8px}.holdingOptionGrid input,.holdingOptionGrid select{min-height:34px;padding:6px 8px;font-size:10px}.holdingOptionGrid input{text-align:center}.holdingOptionGrid .optionStrikeMode{grid-column:1/-1}.holdingOptionGrid>small{grid-column:1/-1;color:var(--muted);font-size:8px;line-height:1.4}.perRowRuleHelp{margin:0;padding:10px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:9px;line-height:1.45}.perRowRuleHelp strong{color:var(--ink)}
@media(max-width:620px){.holdingOptionGrid{grid-template-columns:1fr}.holdingOptionGrid .optionStrikeMode,.holdingOptionGrid>small{grid-column:1}.holdingOptionSettings{margin-right:-1px}}

/* Free-data ownership, transparent model quality, and sensitivity display. */
.ownedDataImport{margin-top:13px;padding-top:12px;border-top:1px solid var(--line)}.ownedDataImport>strong{font-size:10px}.ownedDataImport>p,#csvMessage{margin:5px 0 10px;color:var(--muted);font-size:9px;line-height:1.45}.csvImportFields{display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px}.csvImportFields .field{margin-bottom:8px}.csvImportFields input{min-height:36px;padding:6px 8px;font-size:10px}.rangeSwatch{height:8px!important;background:rgba(0,200,5,.16);outline:1px solid rgba(0,143,18,.25)}.sensitivityBand{fill:rgba(0,200,5,.11);stroke:none;pointer-events:none}.qualityCard{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:13px;background:white}.qualityHead{display:flex;justify-content:space-between;gap:14px;align-items:center}.qualityHead h3{margin:5px 0 0;font-size:15px}.qualityBadge{padding:6px 9px;border-radius:999px;background:#fff4dc;color:#8a5a06;font-size:8px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.qualityBadge.realShares{background:var(--mint);color:var(--green-dark)}.qualityGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.qualityItem{padding:10px;border-radius:9px;background:var(--soft)}.qualityItem strong,.qualityItem span{display:block}.qualityItem strong{margin-bottom:4px;font-size:9px}.qualityItem span{color:var(--muted);font-size:9px;line-height:1.4}.sensitivityText,.validationText{margin:10px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.sensitivityText{padding:10px;border-left:3px solid var(--green);background:#f7fcf8;color:#315143}.validationText{padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:620px){.csvImportFields,.qualityGrid{grid-template-columns:1fr}.qualityHead{align-items:flex-start;flex-direction:column}.rangeSwatch{display:none!important}}

/* Local option-calibration controls stay secondary to the main strategy flow. */
.accuracyPanel{margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fbfcfb}.accuracyPanelHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.accuracyPanelHead strong,.accuracyPanelHead span{display:block}.accuracyPanelHead strong{font-size:10px}.accuracyPanelHead span{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35}.accuracyPanelHead>b{max-width:125px;padding:5px 7px;border-radius:999px;background:#fff4dc;color:#8a5a06;font-size:7px;line-height:1.25;text-align:center;text-transform:uppercase}.accuracyPanel>p,#accuracyMessage{margin:8px 0 0;color:var(--muted);font-size:8px;line-height:1.45}.accuracyActions{display:flex;align-items:center;gap:7px;margin-top:9px}.accuracyActions button{font-size:8px}.accuracyValidate{color:var(--green-dark)}.accuracyActions button:disabled{opacity:.48;cursor:not-allowed}.qualityGrid{grid-template-columns:repeat(4,1fr)}.qualityBadge{max-width:220px;text-align:center;line-height:1.25}.qualityBadge.realShares{background:var(--mint);color:var(--green-dark)}
@media(max-width:760px){.qualityGrid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.accuracyPanelHead{flex-direction:column}.accuracyPanelHead>b{max-width:none}.accuracyActions{align-items:stretch;flex-direction:column}.qualityGrid{grid-template-columns:1fr}}

/* Small explanations for each market-data mode. Hover, keyboard focus, and a
   mobile tap all expose the same plain-language description. */
.sourceChoice{position:relative}.sourceChoice>span{min-width:0;flex:1}.sourceTitle{display:flex!important;align-items:center;gap:6px}.infoTip{display:inline-grid!important;width:17px;height:17px;flex:0 0 17px;place-items:center;border:1px solid #9ba7a1;border-radius:50%;background:white;color:#66716c;font-family:Georgia,serif;font-size:11px;font-style:italic;font-weight:700;line-height:1;cursor:help;outline:none}.infoTip:hover,.infoTip:focus{border-color:var(--green);color:var(--green-dark);box-shadow:0 0 0 3px rgba(0,200,5,.12)}.infoBubble{position:absolute;z-index:30;top:calc(100% + 7px);left:38px;right:10px;visibility:hidden;padding:10px 11px;border:1px solid #d6e2dc;border-radius:9px;background:#101613;color:white;box-shadow:0 10px 28px rgba(0,0,0,.18);font-family:inherit;font-size:9px;font-style:normal;font-weight:500;line-height:1.5;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease,visibility .14s}.infoTip:hover .infoBubble,.infoTip:focus .infoBubble,.infoTip:focus-within .infoBubble{visibility:visible;opacity:1;transform:translateY(0)}
@media(max-width:620px){.infoBubble{left:12px;right:12px;font-size:10px}}
