:root{--bg:#081018;--panel:#101a25;--panel2:#152231;--soft:#0d1620;--line:#263649;--text:#eef4f8;--muted:#8fa1b3;--blue:#66adff;--green:#4dd0a3;--red:#f07b86;--amber:#efbf68;--purple:#c19aff}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}body{min-width:0}button,select,input{font:inherit}.app{max-width:760px;margin:auto;padding:14px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(26px,env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:4px 0 12px}.topbar h1{font-size:22px;margin:0}.topbar p{font-size:11px;color:var(--muted);margin:4px 0 0}.statusBadge{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);padding:7px 9px;border-radius:999px;font-size:11px;color:var(--muted);white-space:nowrap}.statusBadge i{width:8px;height:8px;border-radius:50%;background:var(--amber)}.statusBadge i.ok{background:var(--green)}.statusBadge i.bad{background:var(--red)}.controlCard,.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px}.controlGrid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:8px}.controlGrid label,.settingsGrid label{font-size:10px;color:var(--muted)}select{width:100%;margin-top:5px;min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text);padding:8px}.primary,.ghost,.danger,.fileButton{min-height:44px;border-radius:10px;border:1px solid var(--line);padding:9px 11px;font-weight:800;cursor:pointer}.primary{background:var(--blue);color:#07121f;border-color:transparent;align-self:end}.ghost,.fileButton{background:var(--panel2);color:var(--text)}.danger{background:transparent;color:var(--red);border-color:rgba(240,123,134,.55)}.small{min-height:44px;padding:6px 9px;font-size:11px}.statusStrip{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;margin-top:8px}.tabs{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:7px 0;background:rgba(8,16,24,.95);backdrop-filter:blur(8px);margin-bottom:6px}.tab{border:1px solid var(--line);border-radius:10px;min-height:44px;background:var(--panel);color:var(--muted);font-weight:800}.tab.active{background:var(--blue);border-color:transparent;color:#07121f}.pane{display:none}.pane.active{display:block}.metricGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}.metric span,.evidenceGrid span,.researchGrid span,.forwardSummary span,.validationGrid span{display:block;color:var(--muted);font-size:9.5px}.metric strong{display:block;font-size:18px;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.panelHead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.panelHead h2{font-size:14px;margin:0}.panelHead span{font-size:9.5px;color:var(--muted)}canvas{display:block;width:100%;background:var(--soft);border-radius:10px}.finalPanel{border-color:#344b64}.decisionRow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;background:var(--soft);border-radius:11px;padding:12px}.decisionRow .eyebrow{display:block;font-size:10px;color:var(--muted)}#decisionValue{display:block;font-size:26px;margin-top:4px}.confidenceRing{width:64px;height:64px;border:5px solid var(--line);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.confidenceRing b{font-size:17px}.confidenceRing small{font-size:8px;color:var(--muted)}.opinionText{line-height:1.65;font-size:12px;margin:10px 0}.reasonList{display:grid;gap:6px}.reasonItem{display:grid;grid-template-columns:18px 1fr;gap:6px;background:var(--soft);border-radius:8px;padding:8px;font-size:11px}.reasonItem i{font-style:normal;text-align:center}.advancedDetails{margin-top:10px;border-top:1px solid var(--line);padding-top:9px}.advancedDetails summary{cursor:pointer;color:var(--muted);font-size:11px;min-height:44px;display:flex;align-items:center}.validationGrid,.evidenceGrid,.researchGrid,.forwardSummary{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px}.validationGrid div,.evidenceGrid div,.researchGrid div,.forwardSummary div{background:var(--soft);border-radius:9px;padding:9px;min-width:0}.validationGrid b,.evidenceGrid b,.researchGrid b,.forwardSummary b{display:block;font-size:12px;margin-top:4px;word-break:break-word}.hint,.muted{color:var(--muted);font-size:10.5px;line-height:1.55}.scannerList{display:grid;gap:7px}.scanRow{display:grid;grid-template-columns:1fr .6fr .8fr;gap:8px;align-items:center;background:var(--soft);border-radius:9px;padding:9px;font-size:11px}.scanRow b:nth-child(2){text-align:center}.scanRow span{text-align:right}.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.checkRow{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:11px;color:var(--muted);min-height:44px}.checkRow input{margin:0;width:20px;height:20px;flex:0 0 auto}.buttonRow{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fileButton{display:flex;align-items:center;justify-content:center;font-size:11px}.fileButton input{display:none}.testOutput{background:var(--soft);border-radius:10px;padding:10px;white-space:pre-wrap;font:11px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;max-height:360px;overflow:auto}.policyList{padding-left:18px;margin:0;color:var(--muted);font-size:11px;line-height:1.7}footer{color:var(--muted);font-size:9.5px;text-align:center;padding:8px 2px 20px}.good{color:var(--green)!important}.bad{color:var(--red)!important}.warn{color:var(--amber)!important}
@media(min-width:560px){.validationGrid,.evidenceGrid{grid-template-columns:repeat(3,1fr)}.researchGrid{grid-template-columns:repeat(5,1fr)}.forwardSummary{grid-template-columns:repeat(4,1fr)}}
@media(max-width:559px){.metricGrid{grid-template-columns:1.3fr .85fr .85fr}}
@media(max-width:420px){.app{padding:10px}.topbar h1{font-size:19px}.topbar p{font-size:9.5px}.controlGrid{grid-template-columns:1fr 1fr}.controlGrid .primary{grid-column:span 2}.metric strong{font-size:15px}.metric{padding:8px}.decisionRow{padding:10px}#decisionValue{font-size:22px}.statusStrip{flex-direction:column;gap:3px}.buttonRow{grid-template-columns:1fr}.scannerList{overflow:hidden}.scanRow{grid-template-columns:1fr .55fr .85fr;padding:8px;font-size:10px}}

.dataStateCard{margin-top:8px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--soft);border-radius:10px;padding:9px 10px;min-height:44px}.dataStateCard b{font-size:10px;padding:4px 7px;border-radius:999px;background:var(--panel2);white-space:nowrap}.dataStateCard span{font-size:10px;color:var(--muted);line-height:1.35}.dataStateCard[data-state="live"] b{color:var(--green)}.dataStateCard[data-state="cached"] b,.dataStateCard[data-state="stale"] b{color:var(--amber)}.dataStateCard[data-state="demo"] b,.dataStateCard[data-state="error"] b{color:var(--red)}
.decisionSummary{display:grid;gap:6px;margin:9px 0}.summaryLine{display:grid;grid-template-columns:56px 1fr;gap:7px;align-items:start;background:var(--soft);border-radius:8px;padding:8px 9px;font-size:11px;line-height:1.45}.summaryLine b{font-size:10px;color:var(--blue)}.confidenceNote{display:flex;align-items:center;gap:7px;margin:-2px 0 9px;font-size:9.5px;color:var(--muted)}.confidenceNote b{border:1px solid var(--line);border-radius:999px;padding:3px 7px}.confidenceNote b.good{border-color:rgba(77,208,163,.45)}.confidenceNote b.warn{border-color:rgba(239,191,104,.45)}.confidenceNote b.bad{border-color:rgba(240,123,134,.45)}
.sourceContext{border:1px solid var(--line);background:var(--soft);border-radius:10px;padding:10px 12px;margin:9px 0}.sourceContext b{font-size:12px;color:var(--blue)}.sourceContext p{font-size:12px;line-height:1.55;margin:6px 0 0;overflow-wrap:anywhere}
.positionCard{border:1px solid var(--line);background:var(--soft);border-radius:10px;padding:10px 12px;margin:9px 0}.positionCard summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center}.positionGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.positionGrid label{font-size:11px;color:var(--muted)}.positionGrid input{display:block;width:100%;min-width:0;min-height:44px;margin-top:6px;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}.positionActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.positionCard p{font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.historyList{display:grid;gap:6px;margin:10px 0}.historyRow{display:grid;grid-template-columns:1fr auto;gap:8px;background:var(--soft);border-radius:9px;padding:9px;min-width:0}.historyMain{min-width:0}.historyMain b{font-size:11px}.historyMain span{display:block;color:var(--muted);font-size:9.5px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.historyResult{text-align:right;font-size:10px;white-space:nowrap}.historyResult small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.settingsActions{margin-top:4px}

@media(max-width:420px){.summaryLine{grid-template-columns:48px 1fr}.historyRow{grid-template-columns:1fr auto}.confidenceNote{align-items:flex-start}.settingsActions{grid-template-columns:1fr}}

.homeHero{border-color:#315274}
.homeMeta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:10px;margin:8px 0}
.summaryCards{display:grid;gap:8px}
.summaryCard{display:grid;color:var(--text);text-align:left;font:inherit;width:100%;grid-template-columns:1fr auto;gap:8px;background:var(--soft);border:1px solid var(--line);border-radius:11px;padding:10px;min-height:78px;cursor:pointer}
.summaryCard:active{transform:scale(.995)}
.summaryMain{min-width:0}.summaryMain b{font-size:13px}.summaryMain span{display:block;color:var(--muted);font-size:9.5px;margin-top:4px;line-height:1.35}
.summarySide{text-align:right;white-space:nowrap}.summarySide strong{display:block;font-size:12px}.summarySide small{display:block;font-size:9px;color:var(--muted);margin-top:5px}
.summaryState{display:inline-block;margin-top:5px;padding:2px 6px;border:1px solid var(--line);border-radius:999px;font-size:8.5px}
.summaryState.live{color:var(--green)}.summaryState.cached,.summaryState.stale{color:var(--amber)}.summaryState.demo,.summaryState.error{color:var(--red)}
.quickState{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}.quickState div{background:var(--soft);border-radius:9px;padding:9px;min-width:0}.quickState span{display:block;color:var(--muted);font-size:9px}.quickState b{display:block;font-size:12px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wideButton{width:100%;margin-top:6px}
.favoriteGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:9px 0}.favoriteGrid label{display:flex;align-items:center;gap:7px;min-height:44px;background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:8px;font-size:11px}.favoriteGrid input{width:20px;height:20px;margin:0}
.displayScale{display:block;color:var(--muted);font-size:10px;margin:10px 0}.displayScale select{margin-top:5px}
.updateStatus{background:var(--soft);border-radius:10px;padding:10px}.updateStatus b{display:block;font-size:11px}.updateStatus span{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:4px}
.backupMeta{display:flex;justify-content:space-between;gap:8px;background:var(--soft);border-radius:9px;padding:9px;margin-top:9px;font-size:10px}.backupMeta span{color:var(--muted)}
.onboardingOverlay{position:fixed;inset:0;z-index:100;background:rgba(3,8,13,.92);display:flex;align-items:flex-end;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}
.onboardingOverlay[hidden]{display:none}
.onboardingCard{width:min(100%,560px);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px 18px 12px 12px;padding:16px}.onboardingCard h2{font-size:20px;margin:8px 0}.onboardingCard>p{color:var(--muted);font-size:11px;line-height:1.55}.stepBadge{display:inline-block;font-size:9px;color:var(--blue);border:1px solid var(--line);border-radius:999px;padding:4px 7px}.onboardingStep{margin-top:14px}.onboardingStep>b,.onboardingStep label>b{font-size:12px}.onboardingStart{width:100%;margin-top:14px;min-height:48px}
body.font-large{font-size:112%}body.font-large .hint,body.font-large .muted{font-size:11.5px}body.font-large .summaryMain span{font-size:10.5px}
@media(max-width:420px){.favoriteGrid{grid-template-columns:repeat(2,1fr)}.quickState{grid-template-columns:1fr 1fr 1fr}.summaryCard{padding:9px}.onboardingCard{padding:14px}.homeMeta{flex-direction:column;gap:3px}}
@media(max-width:340px){.quickState{grid-template-columns:1fr 1fr}.favoriteGrid{grid-template-columns:1fr 1fr}}

/* V15.31.32 quality & usability */
.readinessPanel{border-color:#334b63}.readinessGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.readinessGrid>div{background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:9px;min-width:0}.readinessGrid span{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.readinessGrid b{font-size:11px;word-break:keep-all}.decisionSafety{display:flex;align-items:flex-start;gap:8px;margin:9px 0;padding:9px 10px;border-radius:10px;background:var(--soft);border:1px solid var(--line);min-height:44px}.decisionSafety b{white-space:nowrap;font-size:10px;padding:4px 7px;border-radius:999px;background:var(--panel2)}.decisionSafety span{font-size:10px;line-height:1.4;color:var(--muted)}.decisionSafety[data-level="ready"] b{color:var(--green)}.decisionSafety[data-level="caution"] b{color:var(--amber)}.decisionSafety[data-level="blocked"] b{color:var(--red)}.dataStateCard[data-state="snapshot"] b{color:var(--red)}
@media(max-width:360px){.readinessGrid{grid-template-columns:1fr}.readinessGrid>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.readinessGrid span{margin:0}}

/* V15.31.32 entry quality / scenario / strategy edge */
.actionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:9px 0 5px}.actionGrid>div{background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:9px;min-width:0;text-align:center}.actionGrid span{display:block;color:var(--muted);font-size:9px}.actionGrid b{display:block;font-size:11px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actionHint{margin:4px 0 0}.scenarioList{display:grid;gap:6px;margin-top:8px}.scenarioRow{display:grid;grid-template-columns:52px 1fr;gap:6px 8px;background:var(--soft);border-radius:9px;padding:9px}.scenarioRow>b{font-size:10px}.scenarioRow>span{font-size:10px;line-height:1.4}.scenarioRow>small{grid-column:2;color:var(--muted);font-size:9.5px;line-height:1.4}
@media(max-width:340px){.actionGrid{grid-template-columns:1fr}.actionGrid>div{display:flex;justify-content:space-between;align-items:center;text-align:left}.actionGrid b{margin:0}.scenarioRow{grid-template-columns:46px 1fr}}


/* V15.31.32 reliability */
.regimeEdgeList{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}
.regimeEdgeRow{background:var(--soft);border:1px solid var(--line);border-radius:9px;padding:9px;min-width:0}
.regimeEdgeRow b{display:block;font-size:10px}.regimeEdgeRow span{display:block;font-size:10px;margin-top:4px}.regimeEdgeRow small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.calibrationBands{display:grid;gap:6px;margin-top:8px}.calibrationRow{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--soft);border-radius:9px;padding:9px;font-size:10px}.calibrationRow span{color:var(--muted)}
.healthPanel{border-color:#36516a}.healthSummary{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}.healthSummary b{font-size:12px}.healthSummary span{font-size:9.5px;color:var(--muted);text-align:right}
.healthCheckList{display:grid;gap:6px}.healthCheckItem{display:grid;grid-template-columns:100px 1fr;gap:8px;align-items:center;background:var(--soft);border-radius:9px;padding:8px 9px}.healthCheckItem b{font-size:10px}.healthCheckItem span{font-size:9.5px;color:var(--muted);text-align:right}.healthCheckItem[data-level="ok"] b{color:var(--green)}.healthCheckItem[data-level="warn"] b{color:var(--amber)}.healthCheckItem[data-level="fail"] b{color:var(--red)}
.diagnosticsDetails{margin-top:0;border-top:0;padding-top:0}.diagnosticsDetails>.panelHead{margin-top:8px}
@media(max-width:360px){.regimeEdgeList{grid-template-columns:1fr}.healthCheckItem{grid-template-columns:86px 1fr}.healthSummary{align-items:flex-start;flex-direction:column}.healthSummary span{text-align:left}}
.historyResult{white-space:pre-line;line-height:1.6}
.historyLongResult{display:grid;gap:8px;margin:10px 0;font-size:12px}
.historyLongRow{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.historyLongRow b{display:block;margin-bottom:5px}.historyLongRow span{display:block;color:var(--muted);line-height:1.5}

.positionCard>label{display:block;color:var(--muted);font-size:11px;margin-top:8px}.positionCard>label input{display:block;width:100%;min-width:0;min-height:44px;padding:8px;margin-top:6px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}.sourceContext details summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.profitStructureRow{border:1px solid var(--line);border-radius:10px;margin-top:10px;padding:10px 12px;overflow-wrap:anywhere}.profitStructureRow summary{cursor:pointer;min-height:44px;display:block;font-weight:700}.profitStructureRow summary span{display:block;margin-top:6px;font-weight:400}.profitStructureRow>div{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}#holdingProfitPlan{overflow-wrap:anywhere}

.chartGuides{display:flex;flex-wrap:wrap;gap:5px 12px}.chartGuides[hidden]{display:none}.chartGuides span:first-child{flex-basis:100%}

.riseHeadline{display:block;font-size:20px;line-height:1.45;overflow-wrap:anywhere}.riseWatchPanel details{margin:8px 0}.riseWatchPanel button{width:100%;white-space:normal}.riseWatchPanel .hint{overflow-wrap:anywhere}

#monitorKey{display:block;width:100%;min-height:48px;margin:8px 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);font:inherit}#paperCard button:disabled{opacity:.55}

.monitorMismatch {margin:12px 0;padding:12px 16px;border:1px solid #d8a64b;border-radius:14px;background:#392b12;color:#ffe0a3;overflow-wrap:anywhere}
.monitorMismatch[hidden] {display:none}
.monitorMismatch p {margin:0 0 8px}
#paperCard>label,#monitorCard>label:not(.checkRow) {display:block;margin:10px 0;color:var(--muted);font-size:12px}
#paperCard>label input,#monitorCard>label:not(.checkRow) input {display:block;width:100%;min-width:0;min-height:44px;margin-top:6px;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}
.monitorMismatch[data-status="risk"],#monitorSyncStatus[data-status="risk"],#fillAudit[data-status="risk"] {color:#ffb3b8}
#monitorSyncStatus[data-status="normal"],#fillAudit[data-status="normal"] {color:#8ee0b8}
