/* ACE Home V3. Public investor modules only; no shared or Product rules. */
.ace-app .inv-panel {
  --inv-pad:18px;
  --inv-surface:var(--surface-secondary,#0c0a10);
  --inv-raised:var(--surface-elevated,#15111d);
  --inv-line:var(--border-subtle,#332d41);
  --inv-edge:var(--border-strong,#554b6a);
  --inv-text:var(--text-primary,#f3f0f8);
  --inv-muted:var(--text-muted,#bdb5cb);
  --inv-brand:var(--brand-primary,#ad97f7);
  --inv-active:var(--brand-subtle,#1b172c);
  --inv-positive:var(--status-success,#4fc99d);
  width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--inv-edge);
  border-radius:5px;
  background:var(--inv-surface);
  color:var(--inv-text);
  font-variant-numeric:tabular-nums;
}
.ace-app .inv-panel :is(button,a,summary,[tabindex]):focus-visible {
  outline:2px solid var(--inv-brand);
  outline-offset:3px;
}
.ace-app .inv-panel h4 { margin:0; font-size:13px; font-weight:500; line-height:1.5; }
.ace-app .inv-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ace-app .ace-anchor-alias { display:block; scroll-margin-top:124px; }
.ace-app .inv-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px var(--inv-pad) 14px;
  border-bottom:1px solid var(--inv-line);
  background:var(--inv-raised);
}
.ace-app .inv-header>div { min-width:0; }
.ace-app .inv-code {
  display:block;
  color:var(--inv-brand);
  font-size:10px;
  line-height:1.5;
  letter-spacing:.065em;
}
.ace-app .inv-header h3 {
  margin:6px 0 0;
  font-size:14px;
  line-height:1.5;
  letter-spacing:-.01em;
  font-weight:500;
}
.ace-app .inv-badge {
  flex:none;
  padding:4px 6px;
  border:1px solid var(--inv-edge);
  border-radius:3px;
  color:var(--inv-muted);
  font-size:9px;
  line-height:1.4;
  letter-spacing:.04em;
}
.ace-app .inv-context {
  margin:12px var(--inv-pad) 0;
  color:var(--inv-muted);
  font-size:10px;
  line-height:1.6;
}
.ace-app .inv-panel .inv-tabs {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin:15px var(--inv-pad) 0;
  min-width:0;
}
.ace-app .inv-tabs button,
.ace-app .inv-research-tabs button,
.ace-app .inv-preset {
  min-width:0;
  min-height:36px;
  padding:7px 9px;
  border:1px solid var(--inv-edge);
  border-radius:3px;
  background:var(--inv-surface);
  color:var(--inv-muted);
  font:inherit;
  font-size:11px;
  line-height:1.4;
  font-weight:500;
  cursor:pointer;
  transition:color .15s ease,border-color .15s ease,background-color .15s ease;
}
.ace-app :is(.inv-tabs,.inv-research-tabs) button:hover,
.ace-app .inv-preset:hover {
  color:var(--inv-text);
  border-color:var(--inv-brand);
  background:var(--inv-raised);
}
.ace-app :is(.inv-tabs,.inv-research-tabs) button:is([aria-selected="true"],[aria-pressed="true"]),
.ace-app .inv-preset:is([aria-selected="true"],[aria-pressed="true"]) {
  color:var(--inv-brand);
  border-color:var(--inv-brand);
  background:var(--inv-active);
}
.ace-app .inv-tab-short { display:none; }
.ace-app .inv-chart {
  min-width:0;
  margin:17px var(--inv-pad) 0;
}
.ace-app .inv-chart :is(.capital-evidence-chart,.capital-chart-v3) {
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  overflow:visible;
  font-family:inherit;
  font-variant-numeric:tabular-nums;
}
.ace-app .inv-caption {
  margin:8px 0 0;
  color:var(--inv-muted);
  font-size:10px;
  line-height:1.6;
}
.ace-app .inv-kpis {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:18px 0 0;
  border-top:1px solid var(--inv-line);
  min-width:0;
}
.ace-app .inv-kpi {
  min-width:0;
  padding:13px var(--inv-pad);
  border-right:1px solid var(--inv-line);
}
.ace-app .inv-kpi:last-child { border-right:0; }
.ace-app .inv-kpi dt {
  color:var(--inv-muted);
  font-size:10px;
  line-height:1.5;
}
.ace-app .inv-kpi dd {
  margin:6px 0 0;
  color:var(--inv-text);
  font-size:20px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:-.025em;
  white-space:nowrap;
}
.ace-app .inv-kpi dd:is([data-investor-metric="netProfit"],[data-investor-metric="finalCapital"]) {
  white-space:normal;
  overflow-wrap:normal;
}
.ace-app .inv-kpi dd small {
  color:var(--inv-muted);
  font-size:10px;
  font-weight:400;
  letter-spacing:0;
}
.ace-app .inv-kpi>small {
  display:block;
  margin-top:3px;
  color:var(--inv-muted);
  font-size:9px;
  line-height:1.5;
}
.ace-app .inv-panel .inv-positive,
.ace-app .inv-panel [data-semantic="success"] { color:var(--inv-positive); }
.ace-app .inv-secondary {
  margin-top:0;
  border-bottom:1px solid var(--inv-line);
}
.ace-app .inv-secondary .inv-kpi { padding-top:10px; padding-bottom:10px; }
.ace-app .inv-secondary dd { font-size:13px; letter-spacing:0; margin-top:4px; }
.ace-app .inv-secondary .inv-kpi>small { font-size:9px; }
.ace-app .inv-method {
  margin:0;
  padding:12px var(--inv-pad) 14px;
  color:var(--inv-muted);
  font-size:10px;
  line-height:1.65;
}
.ace-app .inv-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px 20px;
  flex-wrap:wrap;
  padding:12px var(--inv-pad);
  border-top:1px solid var(--inv-line);
  background:var(--inv-raised);
  color:var(--inv-muted);
  font-size:10px;
  line-height:1.65;
}
.ace-app .inv-footer p { max-width:720px; }

/* The Hero gives the measured outcome the first reading. */
.ace-app #ace-performance .inv-primary { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:15px; }
.ace-app #ace-performance .inv-kpi { padding:11px 12px; }
.ace-app #ace-performance .inv-primary dd { font-size:18px; }
.ace-app #ace-performance .inv-primary .inv-kpi:first-child dd { font-size:17px; }
.ace-app #ace-performance .inv-secondary dd { font-size:12px; }
.ace-app #ace-performance .inv-chart { margin-top:15px; }
.ace-app #ace-performance .inv-method { font-size:9px; padding-top:10px; padding-bottom:12px; }
.ace-app .inv-direction-compact { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--inv-line); }
.ace-app .inv-direction-compact>span { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px; min-width:0; padding:10px 12px; color:var(--inv-muted); font-size:9px; line-height:1.6; }
.ace-app .inv-direction-compact>span+span { border-left:1px solid var(--inv-line); }
.ace-app .inv-direction-compact strong { font-size:11px; font-weight:500; white-space:nowrap; }
.ace-app .inv-direction-compact .inv-direction-arrow { font-size:12px; font-style:normal; }

/* Three distinguishable responsibilities, followed by one qualitative output. */
.ace-app .inv-layer-tabs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:18px var(--inv-pad) 0;
}
.ace-app .inv-layer {
  position:relative;
  min-width:0;
  min-height:105px;
  padding:14px 15px;
  border:1px solid var(--inv-edge);
  border-radius:3px;
  background:var(--inv-surface);
  color:var(--inv-text);
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.ace-app .inv-layer:not(:last-child)::after {
  content:"→";
  position:absolute;
  left:calc(100% + 1px);
  top:50%;
  width:18px;
  transform:translateY(-50%);
  color:var(--inv-edge);
  font-size:15px;
  line-height:1;
  text-align:center;
  pointer-events:none;
}
.ace-app .inv-layer:hover { border-color:var(--inv-brand); background:var(--inv-raised); }
.ace-app .inv-layer:is([aria-selected="true"],[aria-pressed="true"]) {
  border-color:var(--inv-brand);
  background:var(--inv-active);
}
.ace-app .inv-layer-index { display:block; color:var(--inv-brand); font-size:10px; line-height:1.5; letter-spacing:.05em; }
.ace-app .inv-layer-title { display:block; margin-top:8px; font-size:14px; line-height:1.45; font-weight:500; }
.ace-app .inv-layer-role { display:block; margin-top:5px; color:var(--inv-muted); font-size:11px; line-height:1.5; }
.ace-app .inv-layer-detail {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);
  gap:30px;
  margin:18px var(--inv-pad) 0;
  padding:18px 0;
  border-top:1px solid var(--inv-line);
}
.ace-app .inv-layer-detail :is(h3,h4,strong) { font-size:13px; line-height:1.5; font-weight:500; }
.ace-app .inv-layer-detail p { margin-top:7px; color:var(--inv-muted); font-size:12px; line-height:1.75; max-width:680px; }
.ace-app .inv-layer-body h4 { margin-top:5px; }
.ace-app .inv-layer-impact { border-left:1px solid var(--inv-line); padding-left:22px; }
.ace-app .inv-layer-impact>span { display:block; color:var(--inv-brand); font-size:10px; line-height:1.5; letter-spacing:.04em; }
.ace-app .inv-layer-detail .inv-risk { margin-top:12px; padding-left:11px; border-left:2px solid var(--inv-edge); }
.ace-app .inv-layer-output {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  padding:14px var(--inv-pad);
  border-top:1px solid var(--inv-line);
  background:var(--inv-raised);
  color:var(--inv-muted);
  font-size:12px;
  line-height:1.6;
  text-align:center;
}
.ace-app .inv-layer-output strong { color:var(--inv-text); font-weight:500; }
.ace-app .inv-layer-output [aria-hidden="true"] { color:var(--inv-brand); }

/* BUY and SELL describe direction. All positive monetary results stay green. */
.ace-app .inv-directional-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:18px var(--inv-pad) 0;
  border:1px solid var(--inv-line);
  border-radius:3px;
}
.ace-app .inv-direction-card { min-width:0; padding:17px 18px; }
.ace-app .inv-direction-card+.inv-direction-card { border-left:1px solid var(--inv-line); }
.ace-app .inv-direction-heading { display:flex; align-items:center; gap:8px; color:var(--inv-text); font-size:12px; line-height:1.5; font-weight:500; letter-spacing:.025em; }
.ace-app .inv-direction-heading h4 { font-size:12px; }
.ace-app .inv-direction-heading h4>span { margin-left:5px; color:var(--inv-muted); font-size:10px; }
.ace-app .inv-direction-arrow { color:var(--inv-positive); font-size:16px; line-height:1; }
.ace-app .inv-direction-arrow:is([data-side="SELL"],[data-direction="sell"]) { color:var(--status-danger,#e57979); }
.ace-app .inv-direction-card dl { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,.7fr); gap:12px; margin:15px 0 0; }
.ace-app .inv-direction-card .inv-kpis { border:0; }
.ace-app .inv-direction-card .inv-kpi { padding:0; border:0; }
.ace-app .inv-direction-card dl>div { min-width:0; }
.ace-app .inv-direction-card dt { color:var(--inv-muted); font-size:10px; line-height:1.5; }
.ace-app .inv-direction-card dd { margin:5px 0 0; font-size:15px; line-height:1.4; font-weight:500; white-space:nowrap; }
.ace-app .inv-share-bar { display:flex; height:7px; margin:22px var(--inv-pad) 0; overflow:hidden; border-radius:2px; background:var(--inv-line); }
.ace-app .inv-share-bar>span { display:block; min-width:0; height:100%; background:var(--inv-positive); }
.ace-app .inv-share-bar>span+span { background:var(--inv-brand); border-left:2px solid var(--inv-surface); }
.ace-app .inv-share-labels { display:flex; justify-content:space-between; gap:12px; margin:8px var(--inv-pad) 0; color:var(--inv-muted); font-size:10px; line-height:1.5; }
.ace-app .inv-share-labels strong { color:var(--inv-text); font-weight:500; }

/* Column selection keeps the return and both drawdown measures together. */
.ace-app .inv-table-scroll {
  min-width:0;
  max-width:100%;
  margin:17px var(--inv-pad) 0;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--inv-edge) var(--inv-surface);
  border:1px solid var(--inv-line);
  border-radius:3px;
}
.ace-app .inv-table-scroll::-webkit-scrollbar { height:5px; }
.ace-app .inv-table-scroll::-webkit-scrollbar-thumb { background:var(--inv-edge); border-radius:2px; }
.ace-app .inv-comparison-table { width:100%; min-width:790px; border-collapse:separate; border-spacing:0; font-size:12px; line-height:1.5; table-layout:fixed; }
.ace-app .inv-comparison-table :is(th,td) { width:20%; padding:12px 13px; border-bottom:1px solid var(--inv-line); text-align:right; font-weight:400; vertical-align:middle; white-space:nowrap; }
.ace-app .inv-comparison-table thead th { padding:10px 8px; background:var(--inv-raised); color:var(--inv-muted); font-size:11px; }
.ace-app .inv-comparison-table :is(th,td)+:is(th,td) { border-left:1px solid var(--inv-line); }
.ace-app .inv-comparison-table tr:last-child :is(th,td) { border-bottom:0; }
.ace-app .inv-comparison-table th:first-child { position:sticky; left:0; z-index:1; width:20%; background:var(--inv-surface); text-align:left; color:var(--inv-muted); font-size:11px; white-space:normal; }
.ace-app .inv-comparison-table thead th:first-child { z-index:2; background:var(--inv-raised); }
.ace-app .inv-comparison-table thead button { display:block; width:100%; min-height:36px; padding:7px 6px; border:1px solid transparent; border-radius:3px; background:transparent; color:var(--inv-muted); font:inherit; font-size:11px; font-weight:500; text-align:center; cursor:pointer; }
.ace-app .inv-comparison-table thead button:hover { color:var(--inv-text); border-color:var(--inv-edge); }
.ace-app .inv-comparison-table thead button:is([aria-selected="true"],[aria-pressed="true"]) { color:var(--inv-brand); border-color:var(--inv-brand); background:var(--inv-active); }
.ace-app .inv-comparison-table :is(th,td):is([data-selected="true"],[aria-selected="true"]) { background:var(--inv-active); }
.ace-app .inv-comparison-table td { font-weight:500; }
.ace-app .inv-comparison-selection { margin:14px var(--inv-pad) 0; padding-left:10px; border-left:2px solid var(--inv-brand); color:var(--inv-text); font-size:11px; line-height:1.65; }

/* Research presents a method, without a simulated financial landscape. */
.ace-app .inv-research-tabs { display:flex; gap:6px; flex-wrap:wrap; margin:17px var(--inv-pad) 0; }
.ace-app .inv-research-tabs button { min-height:36px; }
.ace-app .inv-research-tabs button { display:inline-flex; align-items:center; gap:8px; text-align:left; }
.ace-app .inv-research-tabs .inv-layer-index { display:inline; }
.ace-app .inv-research-detail { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:35px; margin:18px var(--inv-pad); padding-top:17px; border-top:1px solid var(--inv-line); }
.ace-app .inv-research-detail :is(h3,h4,strong) { font-size:14px; line-height:1.5; font-weight:500; }
.ace-app .inv-research-detail p { margin-top:8px; color:var(--inv-muted); font-size:12px; line-height:1.75; }
.ace-app .inv-research-detail .inv-research-emphasis { margin:0; padding-left:22px; border-left:1px solid var(--inv-line); font-size:11px; }
.ace-app .inv-research-detail ul { margin:0; padding:0; list-style:none; }
.ace-app .inv-research-detail li { display:flex; gap:10px; padding:8px 0; border-bottom:1px solid var(--inv-line); color:var(--inv-muted); font-size:11px; line-height:1.65; }
.ace-app .inv-research-detail li:first-child { padding-top:0; }
.ace-app .inv-research-detail li:last-child { border-bottom:0; }
.ace-app .inv-research-detail li::before { content:"·"; flex:none; color:var(--inv-brand); }

/* Public preview retains the three-panel workspace at desktop sizes. */
.ace-app .inv-preview-workspace { display:grid; grid-template-columns:185px minmax(0,1fr) 220px; min-width:0; }
.ace-app :is(.inv-preview-presets,.inv-preview-results,.inv-preview-info) { min-width:0; padding:17px 15px; }
.ace-app .inv-preview-presets { border-right:1px solid var(--inv-line); background:var(--inv-raised); }
.ace-app .inv-preview-info { border-left:1px solid var(--inv-line); }
.ace-app .inv-preview-workspace :is(h3,h4) { font-size:12px; font-weight:500; line-height:1.5; }
.ace-app .inv-presets { display:grid; gap:6px; margin-top:12px; }
.ace-app .inv-preview-presets>.inv-preset { display:block; width:100%; margin-top:6px; }
.ace-app .inv-preset { width:100%; text-align:left; padding:10px 11px; }
.ace-app .inv-preset .inv-preset-meta { display:block; margin-top:4px; color:var(--inv-muted); font-size:9px; line-height:1.5; font-weight:400; }
.ace-app .inv-preview-presets .inv-context { margin:14px 0 0; font-size:10px; }
.ace-app .inv-preview-presets .inv-method { padding:13px 0 0; font-size:10px; }
.ace-app .inv-preview-results .inv-chart { margin:12px 0 0; }
.ace-app .inv-preview-results .inv-caption { font-size:9px; }
.ace-app .inv-preview-toolbar { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:5px 12px; }
.ace-app .inv-preview-toolbar .inv-code { font-size:9px; }
.ace-app .inv-preview-toolbar strong { font-size:12px; font-weight:500; }
.ace-app .inv-preview-info .inv-kpis { grid-template-columns:1fr; margin-top:10px; border:0; }
.ace-app .inv-preview-info .inv-kpi { padding:10px 0; border:0; border-bottom:1px solid var(--inv-line); }
.ace-app .inv-preview-info .inv-kpi:first-child { padding-top:0; }
.ace-app .inv-preview-info .inv-kpi dd { margin-top:4px; font-size:16px; }
.ace-app .inv-preview-info .inv-kpi dt { font-size:10px; }
.ace-app .inv-preview-commerce { display:grid; gap:8px; margin-top:16px; }
.ace-app .inv-preview-commerce .ace-button { width:100%; justify-content:space-between; font-size:11px!important; padding:9px 10px; }
.ace-app .inv-preview-commerce .ace-button:first-child { border-color:var(--inv-brand); background:var(--inv-brand); color:var(--surface-primary,#060508); font-weight:600; }
.ace-app .inv-preview-commerce .ace-button:first-child:hover { background:var(--brand-hover,#bcaafa); border-color:var(--brand-hover,#bcaafa); }
.ace-app .inv-preview-commerce .ace-text-link { font-size:11px; justify-content:space-between; gap:8px; }
.ace-app .inv-preview-info .inv-method { padding:12px 0 0; font-size:9px; }
.ace-app .inv-preview-notice { margin:0; padding:12px var(--inv-pad); border-top:1px solid var(--inv-line); color:var(--inv-muted); font-size:10px; line-height:1.7; }


@media (max-width:980px) {
  .ace-app .inv-preview-workspace { grid-template-columns:165px minmax(0,1fr); }
  .ace-app .inv-preview-info { grid-column:1 / -1; border-left:0; border-top:1px solid var(--inv-line); }
  .ace-app .inv-preview-info .inv-kpis { grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-top:10px; }
  .ace-app .inv-preview-info .inv-kpi { padding:0; border:0; }
  .ace-app .inv-preview-info .inv-kpi dd { font-size:15px; }
  .ace-app .inv-preview-commerce { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding-top:13px; border-top:1px solid var(--inv-line); }
  .ace-app .inv-preview-commerce .ace-button { width:auto; }
  .ace-app .inv-preview-commerce .ace-text-link { min-height:36px; }
}
@media (max-width:760px) {
  .ace-app .inv-layer-tabs { gap:14px; }
  .ace-app .inv-layer { padding:12px; }
  .ace-app .inv-layer:not(:last-child)::after { width:12px; font-size:13px; }
  .ace-app .inv-layer-title { font-size:13px; }
  .ace-app .inv-layer-detail { gap:22px; }
  .ace-app .inv-layer-impact { padding-left:18px; }
  .ace-app .inv-direction-card { padding:14px; }
  .ace-app .inv-direction-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .ace-app .inv-direction-card dl>div:first-child { grid-column:1 / -1; }
  .ace-app .inv-research-detail { gap:25px; }
  .ace-app .inv-comparison-table { min-width:750px; }
}
@media (max-width:900px) { .ace-app .ace-anchor-alias { scroll-margin-top:83px; } }
@media (max-width:620px) {
  .ace-app .inv-preview-workspace { grid-template-columns:minmax(0,1fr); }
  .ace-app .inv-preview-presets { border-right:0; border-bottom:1px solid var(--inv-line); padding:14px var(--inv-pad); }
  .ace-app .inv-presets { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin-top:10px; }
  .ace-app .inv-preset { min-height:38px; padding:7px 5px; text-align:center; font-size:10px; }
  .ace-app .inv-preset .inv-preset-meta { display:none; }
  .ace-app .inv-preview-results { padding:15px var(--inv-pad); }
  .ace-app .inv-preview-info { padding:14px var(--inv-pad); }
  .ace-app .inv-preview-info .inv-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 18px; }
  .ace-app .inv-preview-info .inv-kpi:last-child { grid-column:1 / -1; display:flex; align-items:baseline; justify-content:space-between; gap:10px; padding-top:9px; border-top:1px solid var(--inv-line); }
  .ace-app .inv-preview-info .inv-kpi:last-child dd { margin-top:0; }
  .ace-app .inv-preview-commerce { gap:8px 15px; margin-top:13px; }
}
@media (max-width:560px) {
  .ace-app .inv-panel { --inv-pad:12px; }
  .ace-app .inv-header { gap:10px; padding-top:14px; padding-bottom:12px; }
  .ace-app .inv-header h3 { font-size:13px; }
  .ace-app .inv-code { font-size:9px; }
  .ace-app .inv-badge { font-size:8px; padding:3px 5px; }
  .ace-app .inv-tabs button { padding:7px 5px; font-size:10px; min-height:38px; }
  .ace-app .inv-kpi { padding:12px 10px; }
  .ace-app .inv-kpi dd { font-size:17px; }
  .ace-app .inv-secondary dd { font-size:12px; }
  .ace-app #ace-performance .inv-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ace-app #ace-performance .inv-primary .inv-kpi { border-bottom:1px solid var(--inv-line); }
  .ace-app #ace-performance .inv-primary .inv-kpi:nth-child(2n) { border-right:0; }
  .ace-app #ace-performance .inv-primary .inv-kpi:nth-last-child(-n+2) { border-bottom:0; }
  .ace-app #ace-performance .inv-primary dd { font-size:19px; }
  .ace-app #ace-performance .inv-primary .inv-kpi:first-child dd { font-size:19px; }
  .ace-app #ace-performance .inv-secondary dd { font-size:11px; }
  .ace-app #ace-performance .inv-secondary .inv-kpi { padding:9px 10px; }
  .ace-app .inv-layer-tabs { grid-template-columns:1fr; gap:17px; margin-top:14px; }
  .ace-app .inv-layer { display:grid; grid-template-columns:25px minmax(0,1fr); column-gap:10px; min-height:75px; padding:12px; }
  .ace-app .inv-layer-index { grid-row:1 / span 2; padding-top:2px; }
  .ace-app .inv-layer-title { margin-top:0; }
  .ace-app .inv-layer-role { grid-column:2; margin-top:4px; }
  .ace-app .inv-layer:not(:last-child)::after { content:"↓"; left:50%; top:calc(100% + 1px); width:14px; height:15px; transform:translateX(-50%); line-height:15px; }
  .ace-app .inv-layer-detail { grid-template-columns:1fr; gap:15px; margin-top:16px; padding:15px 0; }
  .ace-app .inv-layer-impact { padding:13px 0 0; border-left:0; border-top:1px solid var(--inv-line); }
  .ace-app .inv-layer-output { gap:9px; font-size:11px; align-items:flex-start; }
  .ace-app .inv-layer-output>span { max-width:46%; }
  .ace-app .inv-layer-output [aria-hidden="true"] { max-width:none; }
  .ace-app .inv-direction-card { padding:14px 11px; }
  .ace-app .inv-direction-heading { font-size:11px; }
  .ace-app .inv-direction-heading h4 { font-size:11px; }
  .ace-app .inv-direction-card dd { font-size:14px; }
  .ace-app .inv-direction-card dt { font-size:9px; }
  .ace-app .inv-research-detail { grid-template-columns:1fr; gap:17px; margin-top:15px; padding-top:14px; }
  .ace-app .inv-research-detail .inv-research-emphasis { padding:13px 0 0; border-left:0; border-top:1px solid var(--inv-line); }
  .ace-app .inv-research-tabs { gap:5px; margin-top:14px; }
  .ace-app .inv-research-tabs button { font-size:10px; padding:7px 8px; }
  .ace-app .inv-table-scroll { margin-top:14px; }
  .ace-app .inv-comparison-table { min-width:700px; }
  .ace-app .inv-comparison-table :is(th,td) { padding:11px 12px; }
  .ace-app .inv-footer { gap:10px; }
}
@media (max-width:600px) { .ace-app .ace-anchor-alias { scroll-margin-top:136px; } }
@media (max-width:480px) {
  .ace-app .inv-tab-long { display:none; }
  .ace-app .inv-tab-short { display:inline; }
  .ace-app .inv-chart { margin-top:14px; }
  .ace-app .inv-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ace-app .inv-primary .inv-kpi { border-bottom:1px solid var(--inv-line); }
  .ace-app .inv-primary .inv-kpi:nth-child(2n) { border-right:0; }
  .ace-app .inv-primary .inv-kpi:nth-last-child(-n+2) { border-bottom:0; }
  .ace-app #ace-exposure-comparison .inv-primary .inv-kpi:first-child { grid-column:1 / -1; border-right:0; border-bottom:1px solid var(--inv-line); }
  .ace-app #ace-exposure-comparison .inv-primary .inv-kpi:nth-child(2) { border-right:1px solid var(--inv-line); }
  .ace-app .inv-secondary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ace-app .inv-secondary .inv-kpi { padding:9px 8px; }
  .ace-app .inv-secondary dd { font-size:11px; }
  .ace-app .inv-direction-card dl { gap:9px 7px; }
  .ace-app .inv-direction-card dd { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .ace-app .inv-panel * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Final frontend polish: public presentation headers; evidence charts untouched. */
.ace-app .inv-header { padding-top:18px; padding-bottom:16px; }
.ace-app .inv-header h3 { font-weight:550; }
.ace-app .inv-panel :is(.inv-tabs,.inv-research-tabs) button {
  transition:color var(--polish-duration,150ms) var(--polish-ease,ease),border-color var(--polish-duration,150ms) var(--polish-ease,ease),background-color var(--polish-duration,150ms) var(--polish-ease,ease);
}
.ace-app .inv-panel :is(.inv-tabs,.inv-research-tabs) button[aria-selected="true"] { font-weight:600; }
.ace-app .inv-method { line-height:1.75; }
.ace-app .inv-footer { padding-top:14px; padding-bottom:14px; }
@media(max-width:560px) { .ace-app .inv-header { padding-top:16px; padding-bottom:14px; } }
@media(prefers-reduced-motion:reduce) { .ace-app .inv-panel :is(.inv-tabs,.inv-research-tabs) button { transition:none; } }

/* Existing ACE evidence modules: composition and precision, no chart rules. */
body[data-project="ace"].ace-app .inv-header { align-items:center; background:var(--inv-surface); }
body[data-project="ace"].ace-app .inv-header h3 { font-size:16px; line-height:1.4; letter-spacing:-.25px; }
body[data-project="ace"].ace-app .inv-code { font-size:10px; letter-spacing:.08em; }
body[data-project="ace"].ace-app .inv-panel .inv-tabs { gap:0; margin-top:0; border-bottom:1px solid var(--inv-line); }
body[data-project="ace"].ace-app .inv-tabs button { min-height:40px; border:0; border-bottom:2px solid transparent; border-radius:0; padding:10px 7px; background:transparent; }
body[data-project="ace"].ace-app .inv-tabs button:hover { border-bottom-color:var(--inv-edge); background:var(--inv-raised); }
body[data-project="ace"].ace-app .inv-tabs button:is([aria-selected="true"],[aria-pressed="true"]) { border-bottom-color:var(--inv-brand); color:var(--inv-brand); background:var(--inv-raised); }
body[data-project="ace"].ace-app .inv-context { font-size:11px; line-height:1.6; }
body[data-project="ace"].ace-app .inv-kpi dt { font-size:11px; line-height:1.45; }
body[data-project="ace"].ace-app .inv-primary dd { font-size:23px; line-height:1.35; letter-spacing:-.5px; }
body[data-project="ace"].ace-app .inv-secondary .inv-kpi { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; gap:8px; }
body[data-project="ace"].ace-app .inv-secondary dd { margin:0; font-size:13px; text-align:right; }
body[data-project="ace"].ace-app .inv-footer { background:var(--surface-primary); }
body[data-project="ace"].ace-app .inv-panel :is(button,a,summary):focus-visible { outline-offset:-3px; }
body[data-project="ace"].ace-app .inv-panel :is(.inv-layer,.inv-preset,.inv-comparison-table button) { transition:color 150ms ease,border-color 150ms ease,background-color 150ms ease; }

/* The monetary result leads, with operational and risk context alongside it. */
body[data-project="ace"].ace-app #ace-performance .inv-primary { grid-template-columns:repeat(12,minmax(0,1fr)); }
body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi:nth-child(1) { grid-column:span 5; }
body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi:nth-child(2) { grid-column:span 3; }
body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi:nth-child(n+3) { grid-column:span 2; }
body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi { padding-top:13px; padding-bottom:13px; }
body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi:first-child dd { font-size:23px; }
body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi:nth-child(2) dd { font-size:21px; }
body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi:nth-child(n+3) dd { font-size:17px; }
body[data-project="ace"].ace-app #ace-performance .inv-primary dt { font-size:10px; }
body[data-project="ace"].ace-app #ace-performance .inv-secondary .inv-kpi { display:block; padding-top:10px; padding-bottom:10px; }
body[data-project="ace"].ace-app #ace-performance .inv-secondary dt { font-size:10px; }
body[data-project="ace"].ace-app #ace-performance .inv-secondary dd { margin-top:5px; text-align:left; font-size:12px; }
body[data-project="ace"].ace-app .inv-direction-compact>span { gap:7px; }
body[data-project="ace"].ace-app .inv-direction-compact strong { margin-left:auto; font-size:12px; }

/* Three existing indexed levels read as a technology ribbon. */
body[data-project="ace"].ace-app .inv-layer-tabs { gap:20px; }
body[data-project="ace"].ace-app .inv-layer { display:grid; grid-template-columns:28px minmax(0,1fr); align-content:start; gap:4px 13px; padding:18px 15px; }
body[data-project="ace"].ace-app .inv-layer-index { grid-row:1 / span 2; padding-top:1px; font-size:19px; font-weight:500; letter-spacing:-.5px; color:var(--inv-muted); }
body[data-project="ace"].ace-app .inv-layer:first-child .inv-layer-index,body[data-project="ace"].ace-app .inv-layer[aria-selected="true"] .inv-layer-index { color:var(--inv-brand); }
body[data-project="ace"].ace-app .inv-layer-title { margin-top:0; font-size:15px; font-weight:550; line-height:1.4; }
body[data-project="ace"].ace-app .inv-layer-role { grid-column:2; margin-top:3px; font-size:11px; line-height:1.6; }
body[data-project="ace"].ace-app .inv-layer[aria-selected="true"] { background:var(--inv-raised); }
body[data-project="ace"].ace-app .inv-layer-detail { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; padding-top:22px; padding-bottom:22px; }
body[data-project="ace"].ace-app .inv-layer-detail :is(h3,h4,strong) { font-size:14px; font-weight:550; }
body[data-project="ace"].ace-app .inv-layer-impact { padding-left:25px; }
body[data-project="ace"].ace-app .inv-layer-detail .inv-risk { padding-left:12px; border-left-color:var(--inv-line); font-size:11px; }
body[data-project="ace"].ace-app .inv-layer-output { justify-content:space-between; text-align:left; padding-top:15px; padding-bottom:15px; font-size:12px; }
body[data-project="ace"].ace-app .inv-layer-output strong { font-size:13px; }

/* Both directional contributions keep the same meaning and shared proportion. */
body[data-project="ace"].ace-app .inv-directional-grid { border:0; gap:16px; }
body[data-project="ace"].ace-app .inv-direction-card { padding:18px; border:1px solid var(--inv-line); border-radius:3px; background:var(--inv-raised); }
body[data-project="ace"].ace-app .inv-direction-card+.inv-direction-card { border-left:1px solid var(--inv-line); }
body[data-project="ace"].ace-app .inv-direction-heading { padding-bottom:11px; border-bottom:1px solid var(--inv-line); }
body[data-project="ace"].ace-app .inv-direction-heading h4 { font-size:14px; font-weight:550; }
body[data-project="ace"].ace-app .inv-direction-heading h4>span { font-size:10px; margin-left:7px; }
body[data-project="ace"].ace-app .inv-direction-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; margin-top:14px; }
body[data-project="ace"].ace-app .inv-direction-card dl>div:first-child { grid-column:1 / -1; }
body[data-project="ace"].ace-app .inv-direction-card dt { font-size:11px; }
body[data-project="ace"].ace-app .inv-direction-card dd { font-size:18px; margin-top:4px; }
body[data-project="ace"].ace-app .inv-direction-card dl>div:first-child dd { font-size:25px; letter-spacing:-.5px; white-space:normal; }

/* The existing five-column comparison preserves every statistic and selection. */
body[data-project="ace"].ace-app .inv-comparison-table :is(th,td) { padding-top:14px; padding-bottom:14px; }
body[data-project="ace"].ace-app .inv-comparison-table thead th { padding-top:9px; padding-bottom:9px; }
body[data-project="ace"].ace-app .inv-comparison-table thead button { min-height:39px; font-size:12px; }
body[data-project="ace"].ace-app .inv-comparison-table td { font-size:13px; font-weight:500; letter-spacing:-.1px; }
body[data-project="ace"].ace-app .inv-comparison-table th:first-child { font-size:12px; }
body[data-project="ace"].ace-app .inv-comparison-table td[data-investor-metric="netProfit"] { font-size:15px; }
body[data-project="ace"].ace-app .inv-comparison-table td[data-investor-metric="returnPct"] { font-size:14px; }
body[data-project="ace"].ace-app .inv-comparison-table :is(th,td)[data-selected="true"] { background:var(--inv-raised); }
body[data-project="ace"].ace-app .inv-comparison-table tbody tr:hover :is(th,td) { border-bottom-color:var(--inv-edge); }
body[data-project="ace"].ace-app .inv-comparison-selection { padding:10px 12px; border:1px solid var(--inv-line); border-left:2px solid var(--inv-brand); border-radius:3px; background:var(--inv-raised); }

/* Method and public evaluation retain all controls and their existing columns. */
body[data-project="ace"].ace-app .inv-research-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
body[data-project="ace"].ace-app .inv-research-tabs button { justify-content:flex-start; padding:10px; min-height:40px; line-height:1.5; }
body[data-project="ace"].ace-app .inv-research-detail { gap:24px; }
body[data-project="ace"].ace-app .inv-research-detail .inv-research-emphasis { padding-left:18px; }
body[data-project="ace"].ace-app .inv-preview-workspace :is(h3,h4) { font-size:13px; font-weight:550; }
body[data-project="ace"].ace-app .inv-preset { border-color:var(--inv-line); background:var(--inv-surface); }
body[data-project="ace"].ace-app .inv-preset[aria-pressed="true"],body[data-project="ace"].ace-app .inv-preset[aria-selected="true"] { border-color:var(--inv-brand); background:var(--inv-surface); box-shadow:inset 2px 0 0 var(--inv-brand); }
body[data-project="ace"].ace-app .inv-preview-info .inv-kpi dt { font-size:10px; }
body[data-project="ace"].ace-app .inv-preview-info .inv-kpi dd { font-size:18px; }
body[data-project="ace"].ace-app .inv-preview-info .inv-kpi:first-child dd { font-size:22px; }
body[data-project="ace"].ace-app .inv-preview-toolbar strong { font-size:13px; }
body[data-project="ace"].ace-app .inv-preview-commerce { padding-top:15px; border-top:1px solid var(--inv-line); }
@media(max-width:1100px) {
  body[data-project="ace"].ace-app .inv-layer { gap:4px 10px; padding:15px 12px; }
  body[data-project="ace"].ace-app .inv-layer-title { font-size:14px; }
}
@media(max-width:980px) {
  body[data-project="ace"].ace-app .inv-preview-info .inv-kpi dd { font-size:16px; }
  body[data-project="ace"].ace-app .inv-preview-info .inv-kpi:first-child dd { font-size:18px; }
}
@media(max-width:760px) {
  body[data-project="ace"].ace-app .inv-layer-tabs { gap:14px; }
  body[data-project="ace"].ace-app .inv-layer { grid-template-columns:24px minmax(0,1fr); gap:4px 9px; }
  body[data-project="ace"].ace-app .inv-layer-index { font-size:16px; }
  body[data-project="ace"].ace-app .inv-layer-detail { gap:22px; }
  body[data-project="ace"].ace-app .inv-directional-grid { gap:10px; }
  body[data-project="ace"].ace-app .inv-direction-card { padding:15px; }
  body[data-project="ace"].ace-app .inv-direction-card dl>div:first-child dd { font-size:22px; }
  body[data-project="ace"].ace-app .inv-secondary .inv-kpi { display:block; }
  body[data-project="ace"].ace-app .inv-secondary dd { margin-top:4px; text-align:left; }
}
@media(max-width:560px) {
  body[data-project="ace"].ace-app .inv-header { align-items:flex-start; }
  body[data-project="ace"].ace-app .inv-header h3 { font-size:14px; }
  body[data-project="ace"].ace-app .inv-tabs button { min-height:40px; font-size:10px; padding:9px 5px; }
  body[data-project="ace"].ace-app .inv-context { font-size:10px; }
  body[data-project="ace"].ace-app #ace-performance .inv-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi:nth-child(n) { grid-column:auto; }
  body[data-project="ace"].ace-app #ace-performance .inv-primary .inv-kpi:nth-child(n) dd { font-size:19px; }
  body[data-project="ace"].ace-app .inv-primary dd { font-size:20px; }
  body[data-project="ace"].ace-app .inv-secondary dd { font-size:12px; }
  body[data-project="ace"].ace-app .inv-kpi dt { font-size:10px; }
  body[data-project="ace"].ace-app .inv-layer-tabs { grid-template-columns:minmax(0,1fr); gap:17px; }
  body[data-project="ace"].ace-app .inv-layer { grid-template-columns:27px minmax(0,1fr); gap:3px 12px; padding:14px; min-height:75px; }
  body[data-project="ace"].ace-app .inv-layer-index { font-size:19px; }
  body[data-project="ace"].ace-app .inv-layer-detail { grid-template-columns:minmax(0,1fr); gap:15px; padding-top:17px; padding-bottom:17px; }
  body[data-project="ace"].ace-app .inv-layer-impact { padding:14px 0 0; }
  body[data-project="ace"].ace-app .inv-layer-output { gap:9px; font-size:11px; }
  body[data-project="ace"].ace-app .inv-layer-output strong { font-size:12px; }
  body[data-project="ace"].ace-app .inv-direction-card { padding:13px 10px; }
  body[data-project="ace"].ace-app .inv-direction-heading h4 { font-size:12px; }
  body[data-project="ace"].ace-app .inv-direction-heading h4>span { display:block; margin-left:0; }
  body[data-project="ace"].ace-app .inv-direction-card dl { gap:12px 9px; }
  body[data-project="ace"].ace-app .inv-direction-card dt { font-size:10px; }
  body[data-project="ace"].ace-app .inv-direction-card dd { font-size:16px; }
  body[data-project="ace"].ace-app .inv-direction-card dl>div:first-child dd { font-size:18px; letter-spacing:-.25px; }
  body[data-project="ace"].ace-app .inv-research-tabs button { padding:9px 7px; font-size:10px; gap:6px; }
  body[data-project="ace"].ace-app .inv-research-tabs .inv-layer-index { font-size:10px; padding-top:0; }
  body[data-project="ace"].ace-app .inv-research-detail { gap:17px; }
  body[data-project="ace"].ace-app .inv-research-detail .inv-research-emphasis { padding:13px 0 0; }
}
@media(prefers-reduced-motion:reduce) {
  body[data-project="ace"].ace-app .inv-panel :is(.inv-layer,.inv-preset,.inv-comparison-table button) { transition:none; }
}

/* A real product surface instead of another historical-evidence panel. */
.ace-live-preview{border:1px solid #34443d;border-radius:12px;overflow:hidden;background:#080d0b;color:#f1f3f2}
.ace-live-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid #34443d;background:#101813}
.ace-live-toolbar>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.ace-live-toolbar strong{font-size:14px;font-weight:600}
.ace-live-dot{width:7px;height:7px;border-radius:50%;background:#62dfbd}.ace-live-badge{font-size:9px;letter-spacing:.08em;color:#a7b7ae}
.ace-live-preview .ace-live-open{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;background:#62dfbd;color:#050706;border:1px solid #62dfbd;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;line-height:1.4}
.ace-live-open:focus-visible{outline:2px solid #f1f3f2;outline-offset:3px}.ace-live-open:hover{background:#8ce9ce}
.ace-live-frame{display:block;width:100%;height:740px;border:0;background:#080d0b}
.ace-live-preview .ace-live-note{padding:12px 18px;font-size:11px;line-height:1.7;color:#a7b7ae;border-top:1px solid #34443d;margin:0}
@media(max-width:640px){.ace-live-toolbar{flex-wrap:wrap;padding:12px}.ace-live-preview .ace-live-open{width:100%}.ace-live-frame{height:760px}.ace-live-preview .ace-live-note{padding:12px}}

.ace-app .inv-direction-arrow svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ace-app .inv-direction-compact .inv-direction-arrow svg{width:15px;height:15px}
