/* StratGeeks Strategy Dashboard (plugin 1.1). Uses the site's own tokens (stratgeeks-child: --d-*, --s-*, --p-*) when the
   theme defines them, with the same values as fallbacks. Product data lives in the site's dark world, so the panel is
   dark on every page. Everything is scoped under .sgsd so the theme is never affected.
   Layout: header -> strategy tabs -> template cards -> results (selection bar, labels, numbers, charts, table, contracts
   + prop accounts side by side, notes). One column; cards and number tiles wrap. */
.sgsd {
  --sgsd-bg: var(--d-card, #111A1D);
  --sgsd-raise: var(--d-raise, #162125);
  --sgsd-deep: var(--d-surface, #0C1315);
  --sgsd-line: var(--d-line, #1E2A2E);
  --sgsd-line2: var(--d-line-2, #2A3A3F);
  --sgsd-text: var(--d-text, #E6EEEF);
  --sgsd-mid: var(--d-mid, #B3C4C8);
  --sgsd-muted: var(--d-muted, #8CA0A5);
  --sgsd-up: var(--s-up, #3FC787);
  --sgsd-down: var(--s-down, #D9695C);
  --sgsd-warn: var(--s-warn, #E0AC57);
  --sgsd-accent: var(--p-echo, #2FD3F0);
  --sgsd-on-accent: #04191E;
  /* buttons are one colour everywhere, the pale AXIOS tone (Jake 1.6.0) */
  --sgsd-btn: var(--p-axios, #DDE7E9);
  --sgsd-on-btn: #06090A;
  --sgsd-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;
  --sgsd-sans: "Chivo", "Helvetica Neue", Arial, sans-serif;
  box-sizing: border-box;
  background: var(--sgsd-bg);
  color: var(--sgsd-text);
  color-scheme: dark;
  border: 1px solid var(--sgsd-line);
  border-radius: 16px;
  padding: clamp(16px, 3vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 22px;
  font-family: var(--sgsd-sans);
  font-size: 15px;
  line-height: 1.5;
  max-width: 100%;
}
.sgsd *, .sgsd *::before, .sgsd *::after { box-sizing: border-box; }
.sgsd [data-strategy="AXIOS"], .sgsd[data-strategy="AXIOS"] { --sgsd-accent: var(--p-axios, #DDE7E9); }
.sgsd [data-strategy="ECHO"], .sgsd[data-strategy="ECHO"] { --sgsd-accent: var(--p-echo, #2FD3F0); }
.sgsd [data-strategy="RECON"], .sgsd[data-strategy="RECON"] { --sgsd-accent: var(--p-recon, #7CC93F); }
.sgsd [data-strategy="HARMONY"], .sgsd[data-strategy="HARMONY"] { --sgsd-accent: var(--p-harmony, #B58CF0); }
.sgsd [data-strategy="ORS"], .sgsd[data-strategy="ORS"], .sgsd [data-strategy="ORSFUSION"] { --sgsd-accent: var(--p-ors, #17B5B0); }

.sgsd h2, .sgsd h3, .sgsd p { margin: 0; }
.sgsd button { font: inherit; }
.sgsd button:focus { background-image: none; }
.sgsd button:focus-visible, .sgsd input:focus-visible + .sgsd-check-ui { outline: 2px solid var(--sgsd-accent); outline-offset: 2px; }

/* header */
.sgsd .sgsd-head { display: flex; flex-direction: column; gap: 4px; }
.sgsd .sgsd-title { font-size: clamp(24px, 3.2vw, 34px); font-weight: 900; line-height: 1.1; letter-spacing: -0.01em; color: var(--sgsd-text); text-wrap: balance; }
.sgsd .sgsd-sub { color: var(--sgsd-muted); font-family: var(--sgsd-mono); font-size: 12.5px; letter-spacing: .02em; }

/* strategy tabs */
.sgsd .sgsd-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.sgsd .sgsd-tab {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; cursor: pointer;
  margin: 0; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--sgsd-line2); background: var(--sgsd-raise);
  color: var(--sgsd-mid); box-shadow: none; text-transform: none; letter-spacing: 0; line-height: 1.3;
  transition: border-color .15s, background-color .15s;
}
.sgsd .sgsd-tab:hover:not(:disabled), .sgsd .sgsd-tab:focus { border-color: var(--sgsd-accent); color: var(--sgsd-text); background: var(--sgsd-raise); }
.sgsd .sgsd-tab[aria-selected="true"], .sgsd .sgsd-tab[aria-selected="true"]:hover, .sgsd .sgsd-tab[aria-selected="true"]:focus { border-color: var(--sgsd-accent); background: color-mix(in srgb, var(--sgsd-accent) 12%, var(--sgsd-raise)); color: var(--sgsd-text); }
.sgsd .sgsd-tab:disabled { cursor: not-allowed; opacity: .55; }
.sgsd .sgsd-tab-name { font-size: 19px; font-weight: 800; letter-spacing: .01em; }
.sgsd .sgsd-tab-name::before { content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--sgsd-accent); margin-right: 8px; vertical-align: 2px; }
.sgsd .sgsd-tab-meta { font-family: var(--sgsd-mono); font-size: 11.5px; letter-spacing: .05em; text-transform: uppercase; color: var(--sgsd-muted); }

/* template cards */
.sgsd .sgsd-picker { display: flex; flex-direction: column; gap: 12px; }
.sgsd .sgsd-intro { color: var(--sgsd-mid); font-size: 14px; max-width: 75ch; }
.sgsd .sgsd-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 12px; }
.sgsd .sgsd-card {
  display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 12px; min-width: 0;
  background: var(--sgsd-deep); border: 1px solid var(--sgsd-line); transition: border-color .15s;
}
.sgsd .sgsd-card.is-on { border-color: var(--sgsd-accent); background: color-mix(in srgb, var(--sgsd-accent) 7%, var(--sgsd-deep)); }
.sgsd .sgsd-card.is-locked { opacity: .78; }
.sgsd .sgsd-card-top { display: flex; gap: 12px; align-items: flex-start; }
.sgsd .sgsd-card-title { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.sgsd .sgsd-card-title h3 { font-size: 17px; font-weight: 800; color: var(--sgsd-text); line-height: 1.25; }
.sgsd .sgsd-card-note { color: var(--sgsd-muted); font-size: 13px; }
.sgsd .sgsd-check { position: relative; flex: none; width: 22px; height: 22px; margin-top: 1px; cursor: pointer; }
.sgsd .sgsd-check input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.sgsd .sgsd-check input:disabled { cursor: not-allowed; }
.sgsd .sgsd-check-ui { position: absolute; inset: 0; border-radius: 6px; border: 2px solid var(--sgsd-line2); background: var(--sgsd-raise); pointer-events: none; }
.sgsd .sgsd-check input:checked + .sgsd-check-ui { background: var(--sgsd-accent); border-color: var(--sgsd-accent); }
.sgsd .sgsd-check input:checked + .sgsd-check-ui::after {
  content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 11px;
  border: solid var(--sgsd-on-accent); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg);
}
.sgsd .sgsd-check input:disabled + .sgsd-check-ui { opacity: .45; }
.sgsd .sgsd-card-figs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sgsd .sgsd-card-figs > div { display: flex; flex-direction: column; min-width: 0; }
.sgsd .sgsd-card-figs .sgsd-v { font-size: 16px; font-weight: 700; }
.sgsd .sgsd-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; margin-top: auto; }
.sgsd .sgsd-source { font-family: var(--sgsd-mono); font-size: 11px; color: var(--sgsd-muted); letter-spacing: .02em; }
.sgsd .sgsd-btn-ghost {
  margin: 0; padding: 6px 12px; border-radius: 8px; border: 1px solid var(--sgsd-line2); background: transparent; color: var(--sgsd-text);
  font-size: 13px; font-weight: 600; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0; line-height: 1.3;
}
.sgsd .sgsd-btn-ghost:hover, .sgsd .sgsd-btn-ghost:focus { border-color: var(--sgsd-accent); background: transparent; color: var(--sgsd-text); }
.sgsd .sgsd-btn-ghost[aria-pressed="true"], .sgsd .sgsd-btn-ghost[aria-pressed="true"]:hover, .sgsd .sgsd-btn-ghost[aria-pressed="true"]:focus { background: var(--sgsd-accent); border-color: var(--sgsd-accent); color: var(--sgsd-on-accent); }
.sgsd .sgsd-why { font-size: 12.5px; color: var(--sgsd-warn); background: color-mix(in srgb, var(--sgsd-warn) 10%, transparent); border-radius: 8px; padding: 6px 10px; }
.sgsd .sgsd-soon { color: var(--sgsd-muted); }
.sgsd .sgsd-notice { border: 1px dashed var(--sgsd-warn); border-radius: 12px; padding: 14px 16px; margin: 0 0 16px; display: flex; flex-direction: column; gap: 6px; }
.sgsd .sgsd-notice-tag { align-self: flex-start; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sgsd-warn); border: 1px solid var(--sgsd-warn); border-radius: 6px; padding: 2px 8px; }
.sgsd .sgsd-notice-title { margin: 0; font-size: 16px; }
.sgsd .sgsd-notice-text { margin: 0; font-size: 14px; color: var(--sgsd-muted); max-width: 95ch; }
.sgsd .sgsd-source-box { gap: 10px; }
.sgsd .sgsd-style-group { display: flex; flex-direction: column; gap: 12px; }
.sgsd .sgsd-style-group + .sgsd-style-group { margin-top: 10px; }
.sgsd .sgsd-style-group.is-runburn { border: 1px solid color-mix(in srgb, var(--sgsd-warn) 40%, var(--sgsd-line)); border-radius: 14px; padding: 14px; background: color-mix(in srgb, var(--sgsd-warn) 5%, transparent); }
.sgsd .sgsd-style-head { display: flex; flex-direction: column; gap: 4px; }
.sgsd .sgsd-style-head h3 { font-size: 18px; font-weight: 800; color: var(--sgsd-text); }
/* 2.4.89 (Jake 2026-10-22): the long-run and 3-month sets read as two separate sections - each framed, its own
   background tint (3-month warm amber, long-run the strategy colour), a coloured header band and a divider between */
.sgsd .sgsd-style-group.is-boxed { --sgsd-set: var(--sgsd-accent); border: 1.5px solid color-mix(in srgb, var(--sgsd-set) 45%, var(--sgsd-line)); border-radius: 16px; padding: 0 14px 16px; background: color-mix(in srgb, var(--sgsd-set) 4%, var(--sgsd-deep)); overflow: hidden; }
.sgsd .sgsd-style-group.is-boxed.is-runburn { --sgsd-set: var(--sgsd-warn); background: color-mix(in srgb, var(--sgsd-warn) 9%, var(--sgsd-deep)); border-color: color-mix(in srgb, var(--sgsd-warn) 60%, var(--sgsd-line)); }
.sgsd .sgsd-style-group.is-boxed > .sgsd-style-head { margin: 0 -14px; padding: 14px 14px 12px; background: color-mix(in srgb, var(--sgsd-set) 16%, var(--sgsd-deep)); border-bottom: 1.5px solid color-mix(in srgb, var(--sgsd-set) 45%, var(--sgsd-line)); }
.sgsd .sgsd-style-group.is-boxed > .sgsd-style-head h3 { font-size: 21px; color: var(--sgsd-set); }
.sgsd .sgsd-style-group.is-longrun.is-boxed > .sgsd-style-head h3 { color: var(--sgsd-text); }
.sgsd .sgsd-style-eyebrow { font-family: var(--sgsd-mono); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sgsd-set, var(--sgsd-muted)); }
.sgsd .sgsd-style-group.is-boxed + .sgsd-style-group.is-boxed { margin-top: 40px; position: relative; overflow: visible; }
.sgsd .sgsd-style-group.is-boxed + .sgsd-style-group.is-boxed::before { content: ""; position: absolute; left: 8%; right: 8%; top: -22px; border-top: 2px solid var(--sgsd-line2); }
.sgsd .sgsd-style-group.is-boxed + .sgsd-style-group.is-boxed > .sgsd-style-head { border-radius: 14px 14px 0 0; }
.sgsd .sgsd-style-group.is-runburn .sgsd-style-head h3 { color: var(--sgsd-warn); }
.sgsd .sgsd-style-about { font-size: 13.5px; color: var(--sgsd-mid); max-width: 95ch; }
.sgsd .sgsd-style-warn { font-size: 13px; color: var(--sgsd-warn); max-width: 95ch; }
.sgsd .sgsd-style-tag { align-self: flex-start; font-family: var(--sgsd-mono); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--sgsd-line2); color: var(--sgsd-mid); margin-bottom: 4px; }
.sgsd .sgsd-style-tag.is-runburn { color: var(--sgsd-warn); border-color: color-mix(in srgb, var(--sgsd-warn) 45%, transparent); }
.sgsd .sgsd-style-tag.is-longrun { color: var(--sgsd-accent); border-color: color-mix(in srgb, var(--sgsd-accent) 45%, transparent); }
.sgsd .sgsd-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.sgsd .sgsd-tags .sgsd-style-tag { margin-bottom: 0; }
.sgsd .sgsd-kind-tag { font-family: var(--sgsd-mono); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--sgsd-line2); }
.sgsd .sgsd-kind-tag.is-eval { color: var(--sgsd-warn); background: color-mix(in srgb, var(--sgsd-warn) 14%, transparent); border-color: color-mix(in srgb, var(--sgsd-warn) 45%, transparent); }
.sgsd .sgsd-kind-tag.is-pa { color: var(--sgsd-up); background: color-mix(in srgb, var(--sgsd-up) 14%, transparent); border-color: color-mix(in srgb, var(--sgsd-up) 45%, transparent); }
.sgsd .sgsd-kind-group { border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--sgsd-line2); }
.sgsd .sgsd-kind-group + .sgsd-kind-group { margin-top: 6px; }
.sgsd .sgsd-kind-group.is-eval { border-color: color-mix(in srgb, var(--sgsd-warn) 55%, transparent); background: color-mix(in srgb, var(--sgsd-warn) 4%, transparent); }
.sgsd .sgsd-kind-group.is-pa { border-color: color-mix(in srgb, var(--sgsd-up) 55%, transparent); background: color-mix(in srgb, var(--sgsd-up) 4%, transparent); }
.sgsd .sgsd-kind-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.sgsd .sgsd-kind-head .sgsd-kind-tag { font-size: 12px; padding: 3px 10px; }
.sgsd .sgsd-kind-about { font-size: 13.5px; color: var(--sgsd-mid); }
.sgsd .sgsd-th-set { display: inline-block; margin-bottom: 4px; }
.sgsd .sgsd-th-name { display: block; font-size: 14px; }
.sgsd .sgsd-combo-sum { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.sgsd .sgsd-combo-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-family: var(--sgsd-mono); font-size: 11.5px; font-weight: 400; color: var(--sgsd-mid); }
.sgsd .sgsd-combo-list { display: flex; flex-wrap: wrap; gap: 4px; }
.sgsd .sgsd-combo-item { font-family: var(--sgsd-sans); font-size: 12.5px; font-weight: 700; color: var(--sgsd-text); padding: 2px 8px; border-radius: 6px; background: var(--sgsd-deep); border: 1px solid var(--sgsd-line2); white-space: nowrap; }
.sgsd .sgsd-combo-item[data-strategy] { background: color-mix(in srgb, var(--sgsd-accent) 16%, transparent); border-color: color-mix(in srgb, var(--sgsd-accent) 50%, transparent); }
.sgsd .sgsd-card-window { font-family: var(--sgsd-mono); font-size: 11px; color: var(--sgsd-muted); margin-top: -6px; }
.sgsd .sgsd-card-kind { font-size: 13px; font-weight: 700; color: var(--sgsd-text); }
.sgsd .sgsd-src-row { display: flex; flex-direction: column; gap: 4px; }
.sgsd .sgsd-src-name { font-weight: 700; font-size: 14px; }
.sgsd .sgsd-src-part { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; font-size: 13.5px; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-src-tag { font-family: var(--sgsd-mono); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--sgsd-line2); color: var(--sgsd-muted); }
.sgsd .sgsd-src-part.is-oos .sgsd-src-tag { color: var(--sgsd-up); border-color: color-mix(in srgb, var(--sgsd-up) 45%, transparent); }
.sgsd .sgsd-src-total { font-size: 13.5px; font-weight: 700; border-top: 1px solid var(--sgsd-line); padding-top: 8px; }
.sgsd .sgsd-card-trained { color: var(--sgsd-mid); font-size: 12.5px; line-height: 1.45; }
.sgsd .sgsd-period-note { font-size: 13px; color: var(--sgsd-mid); border-left: 3px solid var(--sgsd-accent); padding: 2px 0 2px 10px; max-width: 95ch; }
.sgsd .sgsd-share { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sgsd .sgsd-share-field { flex: 1 1 280px; min-width: 0; font-family: var(--sgsd-mono); font-size: 12px; padding: 6px 10px; border-radius: 8px; border: 1px solid var(--sgsd-line2); background: var(--sgsd-deep); color: var(--sgsd-mid); }
.sgsd .sgsd-notice { font-size: 13px; color: var(--sgsd-mid); border-left: 3px solid var(--sgsd-accent); border-radius: 0; padding: 4px 0 4px 10px; }

/* results */
.sgsd .sgsd-results { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--sgsd-line); padding-top: 22px; }
.sgsd .sgsd-selbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.sgsd .sgsd-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.sgsd .sgsd-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; font-weight: 700; font-size: 14px;
  background: color-mix(in srgb, var(--sgsd-accent) 16%, transparent); color: var(--sgsd-text); border: 1px solid color-mix(in srgb, var(--sgsd-accent) 50%, transparent);
}
.sgsd .sgsd-chip-x { margin: 0; padding: 0 2px; border: 0; background: transparent; color: var(--sgsd-mid); cursor: pointer; font-size: 16px; line-height: 1; box-shadow: none; }
.sgsd .sgsd-chip-x:hover, .sgsd .sgsd-chip-x:focus { color: var(--sgsd-text); background: transparent; }
.sgsd .sgsd-plus { color: var(--sgsd-muted); font-weight: 700; }
.sgsd .sgsd-muted { color: var(--sgsd-muted); font-size: 14px; }
.sgsd .sgsd-seg { display: inline-flex; flex-wrap: wrap; border: 1px solid var(--sgsd-line2); border-radius: 9px; overflow: hidden; background: var(--sgsd-raise); }
.sgsd .sgsd-seg button {
  margin: 0; border: 0; border-radius: 0; background: transparent; color: var(--sgsd-mid); padding: 8px 14px; cursor: pointer;
  font-size: 14px; line-height: 1.3; box-shadow: none; text-transform: none; letter-spacing: 0;
}
.sgsd .sgsd-seg button + button { border-left: 1px solid var(--sgsd-line2); }
.sgsd .sgsd-seg button:hover, .sgsd .sgsd-seg button:focus { color: var(--sgsd-text); background: transparent; }
.sgsd .sgsd-seg button[aria-pressed="true"], .sgsd .sgsd-seg button[aria-pressed="true"]:hover, .sgsd .sgsd-seg button[aria-pressed="true"]:focus { background: var(--sgsd-accent); color: var(--sgsd-on-accent); font-weight: 700; }
.sgsd .sgsd-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.sgsd .sgsd-pill {
  font-family: var(--sgsd-mono); font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  padding: 4px 10px; border-radius: 999px; border: 1px solid var(--sgsd-line2); color: var(--sgsd-mid);
}
.sgsd .sgsd-pill.sgsd-ok { color: var(--sgsd-up); border-color: color-mix(in srgb, var(--sgsd-up) 45%, transparent); }
.sgsd .sgsd-pill.sgsd-warn { color: var(--sgsd-warn); border-color: color-mix(in srgb, var(--sgsd-warn) 45%, transparent); }
.sgsd .sgsd-pill.sgsd-info { color: var(--sgsd-accent); border-color: color-mix(in srgb, var(--sgsd-accent) 45%, transparent); }
.sgsd .sgsd-period { font-family: var(--sgsd-mono); font-size: 12.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-empty { padding: 40px 16px; text-align: center; color: var(--sgsd-muted); border: 1px dashed var(--sgsd-line2); border-radius: 12px; }

.sgsd .sgsd-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 760px) { .sgsd .sgsd-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sgsd .sgsd-kpi { background: var(--sgsd-raise); border: 1px solid var(--sgsd-line); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sgsd .sgsd-kpi.is-hero { grid-column: span 2; }
.sgsd .sgsd-kpi.is-hero .sgsd-v { font-size: 38px; font-weight: 900; letter-spacing: -0.01em; }
/* 2.4.63: boxes in two halves (Net profit | Max drawdown in the wide box, Longs | Shorts, time | recovery, largest
   win / loss | win / loss size); longs and shorts with a green / red left edge */
.sgsd .sgsd-kpi.is-split { flex-direction: row; gap: 0; padding: 0; overflow: hidden; }
.sgsd .sgsd-kpi-half.is-long { border-left: 3px solid var(--sgsd-up); }
.sgsd .sgsd-kpi-half.is-short { border-left: 3px solid var(--sgsd-down); }
.sgsd .sgsd-kpi-half.is-long + .sgsd-kpi-half.is-short { border-left: 3px solid var(--sgsd-down); }
.sgsd .sgsd-kpi-half { flex: 1 1 0; display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; min-width: 0; }
.sgsd .sgsd-kpi-half + .sgsd-kpi-half { border-left: 1px solid var(--sgsd-line); }
.sgsd .sgsd-kpis { container-type: inline-size; }
.sgsd .sgsd-kpi.is-split:not(.is-hero) .sgsd-kpi-half .sgsd-v { font-size: 18px; }
.sgsd .sgsd-kpi.is-split:not(.is-hero) .sgsd-kpi-half:only-child .sgsd-v { font-size: 22px; }   /* 2.4.64: Largest win / loss alone in its box */
.sgsd .sgsd-kpi-half .sgsd-v, .sgsd .sgsd-kpi-half .sgsd-k, .sgsd .sgsd-kpi-half .sgsd-d { overflow-wrap: normal; word-break: normal; }
.sgsd .sgsd-nw { white-space: nowrap; }
@container (max-width: 900px) {   /* boxes narrower than ~220px: the halves stack (the wide Net | Max drawdown box stays side by side) */
  .sgsd .sgsd-kpi.is-split:not(.is-hero) { flex-direction: column; }
  .sgsd .sgsd-kpi.is-split:not(.is-hero) .sgsd-kpi-half + .sgsd-kpi-half { border-left: 0; border-top: 1px solid var(--sgsd-line); }
  .sgsd .sgsd-kpi.is-split:not(.is-hero) .sgsd-kpi-half.is-long + .sgsd-kpi-half.is-short { border-left: 3px solid var(--sgsd-down); }
}
@media (max-width: 520px) {
  .sgsd .sgsd-kpi.is-split { flex-direction: column; }
  .sgsd .sgsd-kpi-half + .sgsd-kpi-half { border-left: 0; border-top: 1px solid var(--sgsd-line); }
  .sgsd .sgsd-kpi-half.is-long + .sgsd-kpi-half.is-short { border-left: 3px solid var(--sgsd-down); }
}
.sgsd .sgsd-k { font-family: var(--sgsd-mono); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; color: var(--sgsd-muted); }
.sgsd .sgsd-v { font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--sgsd-text); overflow-wrap: anywhere; line-height: 1.2; }
.sgsd .sgsd-d { font-size: 12px; color: var(--sgsd-muted); }
.sgsd .sgsd-v.sgsd-up, .sgsd td.sgsd-up, .sgsd .sgsd-up { color: var(--sgsd-up); }
.sgsd .sgsd-v.sgsd-down, .sgsd td.sgsd-down, .sgsd .sgsd-down { color: var(--sgsd-down); }
.sgsd .sgsd-warn-t { color: var(--sgsd-warn); }

.sgsd .sgsd-box { background: var(--sgsd-raise); border: 1px solid var(--sgsd-line); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.sgsd .sgsd-cap { font-family: var(--sgsd-mono); font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--sgsd-muted); }
.sgsd .sgsd-chart svg { display: block; width: 100%; height: auto; max-width: 100%; }
.sgsd .sgsd-grid { stroke: var(--sgsd-line2); stroke-width: 1; }
.sgsd .sgsd-zero { stroke: var(--sgsd-muted); stroke-width: 1; stroke-dasharray: 3 3; }
.sgsd .sgsd-axis { fill: var(--sgsd-muted); font-family: var(--sgsd-mono); font-size: 11px; }
.sgsd .sgsd-empty.sgsd-axis { font-size: 14px; }
.sgsd .sgsd-line { fill: none; stroke-width: 2; }
.sgsd .sgsd-line.sgsd-up { stroke: var(--sgsd-up); }
.sgsd .sgsd-line.sgsd-down { stroke: var(--sgsd-down); }
.sgsd .sgsd-area.sgsd-up { fill: var(--sgsd-up); fill-opacity: .12; }
.sgsd .sgsd-area.sgsd-down { fill: var(--sgsd-down); fill-opacity: .14; }
.sgsd .sgsd-ddband { fill: var(--sgsd-down); fill-opacity: .16; }
.sgsd .sgsd-chart.has-scrub { position: relative; }
.sgsd .sgsd-chart.has-scrub svg { cursor: crosshair; }
.sgsd .sgsd-scale-why { font-size: 12.5px; color: var(--sgsd-muted); max-width: 46ch; line-height: 1.35; }
.sgsd .sgsd-scrub-line { stroke: var(--sgsd-mid); stroke-width: 1; stroke-dasharray: 3 3; }
.sgsd .sgsd-scrub-dot { fill: var(--sgsd-text); stroke: var(--sgsd-bg); stroke-width: 2; }
.sgsd .sgsd-scrub-tip { position: absolute; top: 0; pointer-events: none; max-width: 100%; padding: 4px 9px; border-radius: 8px; border: 1px solid var(--sgsd-line2);
  background: var(--sgsd-deep); color: var(--sgsd-text); font-family: var(--sgsd-mono); font-size: 12px; white-space: nowrap; z-index: 2; }
.sgsd .sgsd-ddband-cap { margin: 4px 0 0; font-size: 12.5px; color: var(--sgsd-muted); }
/* 2.4.25: Size Ladder templates (own section, purple accent) */
.sgsd .sgsd-ladder-group { --sgsd-ladder: #A78BFA; border: 1px solid color-mix(in srgb, var(--sgsd-ladder) 45%, var(--sgsd-line)); border-radius: 14px; padding: 14px;
  background: color-mix(in srgb, var(--sgsd-ladder) 5%, transparent); display: flex; flex-direction: column; gap: 14px; margin-top: 14px; }
.sgsd .sgsd-ladder-group .sgsd-style-head h3 { color: var(--sgsd-ladder); }
.sgsd .sgsd-ladder-tag { align-self: flex-start; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sgsd-ladder); border: 1px solid var(--sgsd-ladder); border-radius: 6px; padding: 2px 8px; }
.sgsd .sgsd-ladder-admin { margin: 0; font-size: 13px; color: var(--sgsd-warn); }
.sgsd .sgsd-ladder-card { background: var(--sgsd-bg); border: 1px solid var(--sgsd-line2); border-radius: 12px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.sgsd .sgsd-ladder-card > h3 { margin: 0; font-size: 16px; overflow-wrap: anywhere; }
.sgsd .sgsd-ladder-hd { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; }
.sgsd .sgsd-ladder-hd h3 { margin: 0; font-size: 16px; overflow-wrap: anywhere; flex: 1 1 320px; }
.sgsd .sgsd-ladder-dl { flex: none; padding: 7px 14px; font-size: 13.5px; }
.sgsd .sgsd-ladder-sub { margin: 0; font-size: 13px; color: var(--sgsd-muted); }
.sgsd .sgsd-ladder-period { display: flex; flex-direction: column; gap: 6px; }
.sgsd .sgsd-kpi.is-ladder { border-color: color-mix(in srgb, var(--sgsd-ladder) 55%, var(--sgsd-line)); background: color-mix(in srgb, var(--sgsd-ladder) 8%, var(--sgsd-raise)); }
.sgsd .sgsd-ladder-line { fill: none; stroke: var(--sgsd-ladder); stroke-width: 2.4; stroke-linejoin: round; }
.sgsd .sgsd-ladder-one { fill: none; stroke: var(--sgsd-muted); stroke-width: 1.6; stroke-linejoin: round; opacity: .85; }
.sgsd .sgsd-ladder-lbl { fill: var(--sgsd-ladder); }
.sgsd .sgsd-ladder-fix { fill: none; stroke: var(--sgsd-mid); stroke-width: 1.4; stroke-dasharray: 6 4; opacity: .85; }
.sgsd .sgsd-ladder-std { fill: none; stroke: #7DD3FC; stroke-width: 1.4; opacity: .8; }
.sgsd .sgsd-table.sgsd-ladder-cmp th.is-ladder, .sgsd .sgsd-table.sgsd-ladder-cmp td.is-ladder { background: color-mix(in srgb, var(--sgsd-ladder) 10%, transparent); color: var(--sgsd-text); }
.sgsd .sgsd-table.sgsd-ladder-cmp th { white-space: normal; }
.sgsd .sgsd-ladder-bar { fill: color-mix(in srgb, var(--sgsd-ladder) 35%, var(--sgsd-line2)); }
.sgsd .sgsd-ladder-bar.is-2 { fill: color-mix(in srgb, var(--sgsd-ladder) 60%, var(--sgsd-line2)); }
.sgsd .sgsd-ladder-bar.is-3, .sgsd .sgsd-ladder-bar.is-4, .sgsd .sgsd-ladder-bar.is-5 { fill: var(--sgsd-ladder); }
.sgsd .sgsd-ladder-key, .sgsd .sgsd-ladder-source { margin: 2px 0 0; font-size: 12.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-table.sgsd-ladder-fresh th, .sgsd .sgsd-table.sgsd-ladder-fresh td { white-space: normal; font-family: var(--sgsd-sans); font-size: 13.5px; text-align: left; vertical-align: top; }
.sgsd .sgsd-table.sgsd-ladder-fresh td:first-child { width: 24%; font-weight: 700; }
.sgsd .sgsd-table.sgsd-ladder-fresh td:nth-child(2) { width: 38%; }
.sgsd .sgsd-ladder-more { margin: 6px 0 0; font-size: 15px; font-weight: 800; color: var(--sgsd-mid); }
.sgsd .sgsd-kind-group.is-ladder { --sgsd-ladder: #A78BFA; border-color: color-mix(in srgb, var(--sgsd-ladder) 55%, transparent); background: color-mix(in srgb, var(--sgsd-ladder) 5%, transparent); }
.sgsd .sgsd-kind-tag.is-ladder { color: #A78BFA; background: color-mix(in srgb, #A78BFA 14%, transparent); border-color: color-mix(in srgb, #A78BFA 45%, transparent); }
.sgsd .sgsd-kind-group.is-ladder .sgsd-ladder-admin { --sgsd-ladder: #A78BFA; }
.sgsd .sgsd-kind-head button + .sgsd-to-results, .sgsd .sgsd-kind-head a + .sgsd-to-results { margin-left: 0; }
.sgsd .sgsd-ladder-more-box { --sgsd-ladder: #A78BFA; border: 1px solid color-mix(in srgb, var(--sgsd-ladder) 45%, var(--sgsd-line)); border-radius: 12px; padding: 10px 14px; }
.sgsd .sgsd-ladder-more-box > summary { cursor: pointer; font-weight: 700; color: var(--sgsd-mid); font-size: 14px; }
.sgsd .sgsd-ladder-more-box[open] > summary { margin-bottom: 10px; }
.sgsd .sgsd-ladder-sw { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; }
.sgsd .sgsd-ladder-story { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--sgsd-line); padding-top: 10px; }
.sgsd .sgsd-ladder-list { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.sgsd .sgsd-dot.sgsd-up { fill: var(--sgsd-up); }
.sgsd .sgsd-dot.sgsd-down { fill: var(--sgsd-down); }
.sgsd .sgsd-bar.sgsd-up { fill: var(--sgsd-up); }
.sgsd .sgsd-bar.sgsd-down { fill: var(--sgsd-down); }

.sgsd .sgsd-table-wrap { overflow-x: auto; }
.sgsd .sgsd-table { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; margin: 0; }
.sgsd .sgsd-table th {
  font-family: var(--sgsd-mono); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--sgsd-muted);
  text-align: right; padding: 6px 10px; border: 0; border-bottom: 1px solid var(--sgsd-line2); background: transparent; white-space: nowrap;
}
.sgsd .sgsd-table td { text-align: right; padding: 8px 10px; border: 0; border-bottom: 1px solid var(--sgsd-line); font-family: var(--sgsd-mono); font-size: 13px; white-space: nowrap; background: transparent; color: var(--sgsd-text); }
.sgsd .sgsd-table td.sgsd-up { color: var(--sgsd-up); }   /* 2.4.79 (Jake 2026-10-21): net green, drawdown red - the rule above had turned them white */
.sgsd .sgsd-table td.sgsd-down { color: var(--sgsd-down); }
.sgsd .sgsd-table td.sgsd-warn-t { color: var(--sgsd-warn); }
.sgsd .sgsd-table th:first-child { text-align: left; }
.sgsd .sgsd-table td:first-child { text-align: left; font-family: var(--sgsd-sans); font-size: 14px; white-space: normal; }
.sgsd .sgsd-table tr.is-total td { font-weight: 700; border-bottom: 0; border-top: 1px solid var(--sgsd-line2); }
.sgsd .sgsd-td-sub { display: block; font-family: var(--sgsd-mono); font-size: 11.5px; color: var(--sgsd-muted); font-weight: 400; }
.sgsd .sgsd-fit-title { font-size: 20px; font-weight: 800; color: var(--sgsd-text); }
.sgsd .sgsd-fit-table { min-width: 640px; }
.sgsd .sgsd-fit-table th, .sgsd .sgsd-fit-table td { text-align: left; vertical-align: top; white-space: normal; }
.sgsd .sgsd-fit-table thead th { font-family: var(--sgsd-sans); font-size: 13px; font-weight: 800; letter-spacing: 0; text-transform: none; color: var(--sgsd-text); min-width: 170px; }
.sgsd .sgsd-fit-table thead th:first-child { min-width: 150px; color: var(--sgsd-muted); font-family: var(--sgsd-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.sgsd .sgsd-fit-table thead th.is-on { color: var(--sgsd-accent); }
.sgsd .sgsd-th-sub { display: block; font-family: var(--sgsd-mono); font-size: 11px; font-weight: 400; color: var(--sgsd-muted); letter-spacing: 0; text-transform: none; margin-top: 2px; }
.sgsd .sgsd-fit-table tr.is-group th { background: var(--sgsd-deep); font-family: var(--sgsd-sans); font-size: 13.5px; font-weight: 800; color: var(--sgsd-text); letter-spacing: 0; text-transform: none; padding: 8px 10px; }
.sgsd .sgsd-fit-table .sgsd-row-head { font-family: var(--sgsd-sans); font-size: 14px; font-weight: 700; color: var(--sgsd-text); letter-spacing: 0; text-transform: none; border-bottom: 1px solid var(--sgsd-line); }
.sgsd .sgsd-fit-table td { font-family: var(--sgsd-sans); font-size: 13px; }
.sgsd .sgsd-fit-table td.is-on { background: color-mix(in srgb, var(--sgsd-accent) 7%, transparent); }
.sgsd .sgsd-fit-big { font-weight: 800; font-size: 16px; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-best { display: inline-block; margin-left: 8px; font-family: var(--sgsd-mono); font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; background: var(--sgsd-accent); color: var(--sgsd-on-accent); vertical-align: 2px; }
.sgsd .sgsd-fit-table .sgsd-td-sub { white-space: normal; line-height: 1.4; margin-top: 2px; }
.sgsd .sgsd-acc td { vertical-align: top; }
.sgsd .sgsd-acc td:not(:first-child) { font-family: var(--sgsd-sans); }
.sgsd .sgsd-acc-big { font-weight: 800; font-size: 15px; }

.sgsd .sgsd-duo { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 14px; }
.sgsd .sgsd-mini-title { font-weight: 700; font-size: 14px; margin-top: 4px; }
.sgsd .sgsd-sides { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.sgsd .sgsd-side { display: flex; flex-direction: column; gap: 6px; }
.sgsd .sgsd-side-title { font-size: 13px; color: var(--sgsd-mid); font-weight: 700; }
.sgsd .sgsd-pos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.sgsd .sgsd-pos > div { border: 1px solid var(--sgsd-line2); border-radius: 8px; padding: 6px 8px; display: flex; flex-direction: column; background: var(--sgsd-deep); }
.sgsd .sgsd-pos > div.is-zero { border-style: dashed; }
.sgsd .sgsd-pos > div.is-zero .sgsd-pos-q { color: var(--sgsd-muted); }
.sgsd .sgsd-pos-q { font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-pos-n { font-family: var(--sgsd-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--sgsd-muted); }
.sgsd .sgsd-small { font-size: 12.5px; color: var(--sgsd-muted); }

.sgsd .sgsd-notes { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--sgsd-line); padding-top: 14px; }
.sgsd .sgsd-notes p { color: var(--sgsd-muted); font-size: 13px; max-width: 95ch; }
.sgsd .sgsd-notes .sgsd-label { color: var(--sgsd-mid); font-weight: 700; }
.sgsd .sgsd-notes .sgsd-disclaimer { font-size: 12.5px; }

.sgsd.sgsd-locked { align-items: flex-start; }
.sgsd.sgsd-locked p { color: var(--sgsd-mid); }
.sgsd .sgsd-btn:hover, .sgsd .sgsd-btn:focus { color: var(--sgsd-on-accent); text-decoration: none; }
.sgsd .sgsd-btn { display: inline-block; padding: 9px 18px; border-radius: 9px; background: var(--sgsd-accent); color: var(--sgsd-on-accent); font-weight: 700; text-decoration: none; }

@media (max-width: 560px) {
  .sgsd .sgsd-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .sgsd .sgsd-tab { padding: 10px 10px; }
  .sgsd .sgsd-tab-name { font-size: 15px; }
  .sgsd .sgsd-tab-name::before { width: 7px; height: 7px; margin-right: 5px; }
  .sgsd .sgsd-tab-meta { font-size: 10px; }
  .sgsd .sgsd-kpi.is-hero { grid-column: span 2; }
  .sgsd .sgsd-kpi.is-hero .sgsd-v { font-size: 30px; }
  .sgsd .sgsd-selbar { flex-direction: column; align-items: stretch; }
  .sgsd .sgsd-seg button { flex: 1; padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) { .sgsd * { transition: none !important; } }

/* ===== 1.6 merge (Jake's renderer): buttons, trading-window strip, Eastern-time notice ===== */
.sgsd[data-strategy="AXIOS"] { --sgsd-on-accent: #06090A; }
.sgsd .sgsd-btn { display: inline-block; margin: 0; padding: 9px 18px; border-radius: 9px; border: 1px solid transparent; background: var(--sgsd-btn); color: var(--sgsd-on-btn); font-weight: 700; font-size: 14px; text-decoration: none; cursor: pointer; line-height: 1.3; }
.sgsd .sgsd-btn:hover, .sgsd .sgsd-btn:focus { color: var(--sgsd-on-btn); text-decoration: none; filter: brightness(1.07); }
.sgsd .sgsd-btn-ghost:hover, .sgsd .sgsd-btn-ghost:focus { border-color: var(--sgsd-btn); }
.sgsd .sgsd-btn-ghost:disabled { opacity: .4; cursor: not-allowed; border-color: var(--sgsd-line2); }
.sgsd .sgsd-seg button[aria-pressed="true"], .sgsd .sgsd-seg button[aria-pressed="true"]:hover, .sgsd .sgsd-seg button[aria-pressed="true"]:focus { background: var(--sgsd-btn); color: var(--sgsd-on-btn); }
.sgsd .sgsd-btn-ghost[aria-pressed="true"], .sgsd .sgsd-btn-ghost[aria-pressed="true"]:hover, .sgsd .sgsd-btn-ghost[aria-pressed="true"]:focus { background: var(--sgsd-btn); border-color: var(--sgsd-btn); color: var(--sgsd-on-btn); }
.sgsd .sgsd-getrow { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 4px; }
.sgsd .sgsd-kind-head .sgsd-btn-ghost { margin-left: auto; }
/* 2.4.65 (Jake 2026-10-21): a pale button for downloads, and Scale this selection in the Hub's dark orange everywhere
   (hub.css paints .sgsd-scale-sel the same inside the Hub; this makes /results match) */
.sgsd .sgsd-btn-light { display: inline-block; margin: 0; padding: 9px 18px; border-radius: 9px; border: 1px solid #E8F1F2; background: #E8F1F2; color: #0E1A1C; font-weight: 700; font-size: 14px; text-decoration: none; cursor: pointer; line-height: 1.3; }
.sgsd .sgsd-btn-light:hover, .sgsd .sgsd-btn-light:focus { color: #0E1A1C; filter: brightness(1.05); text-decoration: none; }
.sgsd .sgsd-scale-sel, .sgsd .sgsd-scale-sel:hover, .sgsd .sgsd-scale-sel:focus { background: #E9773E; border-color: #E9773E; color: #140A04; font-weight: 800; }
.sgsd .sgsd-scale-sel:hover, .sgsd .sgsd-scale-sel:focus { filter: brightness(1.07); }
.sgsd .sgsd-btn:disabled, .sgsd .sgsd-btn-light:disabled, .sgsd .sgsd-scale-sel:disabled { opacity: .4; cursor: not-allowed; filter: none; }
.sgsd .sgsd-card-hours { font-family: var(--sgsd-mono); font-size: 11.5px; color: var(--sgsd-mid); margin-bottom: -6px; }
.sgsd .sgsd-strip { display: flex; flex-direction: column; gap: 3px; }
.sgsd .sgsd-track { position: relative; height: 14px; border-radius: 4px; background: var(--sgsd-bg); border: 1px solid var(--sgsd-line); overflow: hidden; }
.sgsd .sgsd-rth { position: absolute; top: 0; bottom: 0; background: color-mix(in srgb, #fff 5%, transparent); }
.sgsd .sgsd-win { position: absolute; top: 2px; bottom: 2px; border-radius: 2px; background: var(--sgsd-accent); opacity: .85; }
.sgsd .sgsd-hour { position: absolute; top: 0; bottom: 0; width: 1px; background: var(--sgsd-line2); }
.sgsd .sgsd-scale { display: flex; justify-content: space-between; font-family: var(--sgsd-mono); font-size: 9.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-dl { display: flex; align-items: center; justify-content: center; width: 100%; padding: 11px 14px; font-size: 14.5px; }
.sgsd .sgsd-tz-note { font-size: 13.5px; color: var(--sgsd-mid); background: color-mix(in srgb, var(--sgsd-warn) 9%, var(--sgsd-raise)); border: 1px solid color-mix(in srgb, var(--sgsd-warn) 40%, var(--sgsd-line)); border-radius: 10px; padding: 10px 14px; max-width: 100%; }
.sgsd .sgsd-tz-note b { color: var(--sgsd-warn); }
/* Fit finder (1.7.0): a member checks every template against their own account */
.sgsd .sgsd-ff { gap: 12px; }
.sgsd .sgsd-cards-box { gap: 12px; }   /* 2.4.60: the template cards open and close like the finders */
.sgsd .sgsd-cards-box > .sgsd-picker { padding-top: 4px; }
.sgsd .sgsd-ff-summary { cursor: pointer; list-style: none; display: flex; flex-direction: column; gap: 2px; position: relative; padding-right: 32px; }
.sgsd .sgsd-ff-summary::-webkit-details-marker { display: none; }
.sgsd .sgsd-ff-summary::before { content: "+"; position: absolute; right: 4px; top: 2px; font-family: var(--sgsd-mono); color: var(--sgsd-accent); font-size: 22px; line-height: 1; }
.sgsd details[open] > .sgsd-ff-summary::before { content: "\2212"; }
.sgsd .sgsd-ff-title { font-size: 18px; font-weight: 800; color: var(--sgsd-text); }
.sgsd .sgsd-ff-sub { font-size: 13px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-form { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 12px 16px; margin-top: 6px; }
.sgsd .sgsd-ff-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.sgsd .sgsd-ff-label { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-help { font-size: 12px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-input { width: 100%; min-width: 0; background: var(--sgsd-deep); color: var(--sgsd-text); border: 1px solid var(--sgsd-line2); border-radius: 8px; padding: 8px 10px; font: inherit; font-size: 14px; }
.sgsd .sgsd-ff-input:focus { outline: 2px solid var(--sgsd-accent); outline-offset: 1px; border-color: var(--sgsd-accent); }
.sgsd .sgsd-ff-hours { display: flex; align-items: center; gap: 8px; }
.sgsd .sgsd-ff-hours .sgsd-ff-input { flex: 1 1 0; }
.sgsd .sgsd-ff-to { color: var(--sgsd-muted); font-size: 13px; }
.sgsd .sgsd-ff-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.sgsd .sgsd-ff-count { margin: 0; font-weight: 700; color: var(--sgsd-text); }
.sgsd .sgsd-ff-table { min-width: 980px; }
.sgsd .sgsd-ff-table td:first-child, .sgsd .sgsd-ff-table th:first-child { min-width: 0; width: 34px; }
.sgsd .sgsd-ff-table tr.is-out td { opacity: .55; }
.sgsd .sgsd-ff-table tr.is-out td:last-child { opacity: 1; }
.sgsd .sgsd-ff-name { display: block; font-weight: 700; }
.sgsd .sgsd-ff-table .sgsd-td-sub { display: block; font-size: 12px; color: var(--sgsd-muted); white-space: normal; }
@media (max-width: 760px) { .sgsd .sgsd-ff-form { grid-template-columns: 1fr; } }
.sgsd .sgsd-ff-table td:last-child { white-space: nowrap; }
.sgsd .sgsd-ff-dl { display: inline-block; margin-left: 6px; text-decoration: none; }
.sgsd .sgsd-ff-back { align-self: flex-start; }
.sgsd .sgsd-ff-table tr.is-flash td { background: color-mix(in srgb, var(--sgsd-accent) 18%, transparent); transition: background-color .4s; }
/* fit finder combinations (1.8.0) */
.sgsd .sgsd-ff-acts { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sgsd .sgsd-ff-table td.sgsd-ff-ck { width: 34px; padding-right: 0; }
.sgsd .sgsd-ff-table td.sgsd-ff-ck .sgsd-check { display: inline-block; }
.sgsd .sgsd-ff-table td:nth-child(2), .sgsd .sgsd-ff-table th:nth-child(2) { min-width: 280px; text-align: left; font-family: var(--sgsd-sans); white-space: normal; }
.sgsd .sgsd-ff-table tr.is-picked td { background: color-mix(in srgb, var(--sgsd-accent) 8%, transparent); }
.sgsd .sgsd-ff-combo { border: 1px solid var(--sgsd-line2); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; background: var(--sgsd-deep); }
.sgsd .sgsd-ff-combo-title { font-weight: 800; color: var(--sgsd-text); }
.sgsd .sgsd-ff-combo-names { font-size: 13.5px; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-combo-empty { font-size: 13.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-combo-figs { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; }
.sgsd .sgsd-ff-combo-figs > div { display: flex; flex-direction: column; min-width: 0; }
.sgsd .sgsd-ff-combo-figs .sgsd-v { font-size: 17px; }
/* best-fit sets (1.9.0) */
.sgsd .sgsd-ff-bests { display: flex; flex-direction: column; gap: 10px; }
.sgsd .sgsd-ff-best { border: 1px solid var(--sgsd-line2); border-radius: 12px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; background: var(--sgsd-deep); transition: background-color .4s; }
.sgsd .sgsd-ff-best.is-top { border-color: color-mix(in srgb, var(--sgsd-up) 55%, var(--sgsd-line2)); }
.sgsd .sgsd-ff-best.is-on { background: color-mix(in srgb, var(--sgsd-accent) 8%, var(--sgsd-deep)); }
.sgsd .sgsd-ff-best.is-flash { background: color-mix(in srgb, var(--sgsd-accent) 18%, var(--sgsd-deep)); }
.sgsd .sgsd-ff-best-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; }
.sgsd .sgsd-ff-best-tag { font-family: var(--sgsd-mono); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-best.is-top .sgsd-ff-best-tag { color: var(--sgsd-up); }
.sgsd .sgsd-ff-best-n { font-size: 12.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-best-names { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 2px; font-size: 14px; font-weight: 700; color: var(--sgsd-text); }
/* 2.4.58: tick boxes to pick single templates out of a best-fit card or a Schedule finder set */
.sgsd .sgsd-ff-best-names.has-picks { list-style: none; padding-left: 0; gap: 6px; }
.sgsd .sgsd-pick-row .sgsd-check { display: inline-block; vertical-align: middle; margin: -2px 10px 0 0; }
.sgsd .sgsd-pick-row.is-off > :not(.sgsd-check) { opacity: .45; }
.sgsd .sgsd-pick-row.is-off .sgsd-ff-own-link, .sgsd .sgsd-pick-row.is-off > b { text-decoration: line-through; }
.sgsd .sgsd-sf-bar.is-off { opacity: .28; }
.sgsd .sgsd-sf-name { font-weight: 700; }   /* 2.4.59: Schedule finder names open the template on its own */
.sgsd .sgsd-sf-bar.is-link { cursor: pointer; }
.sgsd .sgsd-sf-bar.is-link:hover, .sgsd .sgsd-sf-bar.is-link:focus-visible { filter: brightness(1.15); outline: 2px solid var(--sgsd-accent); outline-offset: 1px; }
.sgsd .sgsd-pick-note { margin: 0; font-size: 12.5px; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-more { border-top: 1px solid var(--sgsd-line); padding-top: 10px; }
.sgsd .sgsd-ff-more > summary { cursor: pointer; font-weight: 700; color: var(--sgsd-mid); font-size: 14px; }
.sgsd .sgsd-ff-more[open] > summary { margin-bottom: 10px; }
/* 2.0.0: prop table led by the member's set, account and phase; frozen account column; wider time inputs */
.sgsd .sgsd-fit-table th:first-child, .sgsd .sgsd-fit-table td:first-child, .sgsd .sgsd-fit-table .sgsd-row-head { position: sticky; left: 0; z-index: 1; background: var(--sgsd-raise); }
.sgsd .sgsd-fit-table tr.is-group th { position: sticky; left: 0; }
.sgsd .sgsd-fit-table tr.is-dim th { color: var(--sgsd-muted); }
.sgsd .sgsd-fit-more { margin-top: 6px; }
.sgsd .sgsd-fit-more > summary { cursor: pointer; font-weight: 700; color: var(--sgsd-mid); font-size: 14px; margin-bottom: 8px; }
.sgsd .sgsd-ff-hours .sgsd-ff-input { min-width: 128px; padding: 8px 8px; }
.sgsd .sgsd-ff-hours { flex-wrap: wrap; row-gap: 6px; }
.sgsd .sgsd-ff-hours .sgsd-ff-input { flex: 1 1 128px; }
/* 2.0.2: honest "closest" when nothing stayed inside the member's drawdown left */
.sgsd .sgsd-ff-best.is-warn { border-color: color-mix(in srgb, var(--sgsd-warn) 55%, var(--sgsd-line2)); }
.sgsd .sgsd-ff-best.is-warn .sgsd-ff-best-tag { color: var(--sgsd-warn); }
.sgsd .sgsd-ff-nofit { margin: 0; font-size: 14px; font-weight: 700; color: var(--sgsd-warn); border-left: 3px solid var(--sgsd-warn); padding: 4px 0 4px 10px; }
.sgsd .sgsd-ff-nofit.is-none { color: var(--sgsd-down); border-color: var(--sgsd-down); }
/* 2.2.1: each template's own daily loss / profit limit, two labels on every card */
.sgsd .sgsd-card-limits { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; margin: 6px 0 2px; }
.sgsd .sgsd-limit { display: flex; flex-direction: column; gap: 1px; border-left: 2px solid var(--sgsd-line2); padding-left: 8px; }
.sgsd .sgsd-limit-k { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--sgsd-muted); }
.sgsd .sgsd-limit-v { font-size: 15px; font-weight: 700; }
.sgsd .sgsd-limit-v.is-none { color: var(--sgsd-muted); font-weight: 600; }
.sgsd .sgsd-limit-x { grid-column: 1 / -1; margin: 0; font-size: 12px; color: var(--sgsd-muted); }
/* 2.2.4: a set card says its figures are combined and shows each template's own figures */
.sgsd .sgsd-ff-scope { margin: 4px 0; font-size: 13px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-own { width: 100%; border-collapse: collapse; font-size: 12.5px; margin: 6px 0 2px; }
.sgsd .sgsd-ff-own th { text-align: left; font-weight: 600; color: var(--sgsd-muted); padding: 2px 6px 4px 0; }
.sgsd .sgsd-ff-own td { padding: 3px 6px 3px 0; border-top: 1px solid var(--sgsd-line2); }
.sgsd .sgsd-ff-own td + td, .sgsd .sgsd-ff-own th + th { text-align: right; white-space: nowrap; }
.sgsd .sgsd-ff-own tr.is-total td { font-weight: 700; border-top: 2px solid var(--sgsd-line2); }
.sgsd .sgsd-ff-own-link { color: inherit; text-decoration: underline; text-decoration-color: var(--sgsd-line2); text-underline-offset: 3px; cursor: pointer; }
.sgsd .sgsd-ff-own-link:hover, .sgsd .sgsd-ff-own-link:focus { text-decoration-color: currentColor; }
/* 2.2.6: explanations that work on a phone (tap "?"), plain "what we checked" line on best-fit cards */
.sgsd .sgsd-info-btn { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; margin-left: 5px; padding: 0; border: 1px solid var(--sgsd-line2); border-radius: 50%; background: transparent; color: var(--sgsd-muted); font-size: 10px; font-weight: 700; line-height: 1; cursor: pointer; vertical-align: middle; }
.sgsd .sgsd-info-btn:hover, .sgsd .sgsd-info-btn[aria-expanded="true"] { color: inherit; border-color: currentColor; }
.sgsd .sgsd-info { grid-column: 1 / -1; margin: 6px 0; padding: 8px 10px; font-size: 12.5px; line-height: 1.45; border-left: 2px solid var(--sgsd-line2); color: inherit; text-transform: none; letter-spacing: 0; font-weight: 400; }
.sgsd .sgsd-ff-plain { margin: 6px 0 2px; font-size: 13px; line-height: 1.45; }
.sgsd .sgsd-limit-why { font-size: 11px; color: var(--sgsd-muted); }
.sgsd .sgsd-rules-note { border-left: 3px solid var(--sgsd-warn); padding-left: 10px; }
/* 2.4.3 (PC Code 2026-10-15, measured at 375px): give phones their width back, and stack the account table */
@media (max-width: 480px) {
  .sgsd { padding-left: 8px; padding-right: 8px; }
  .sgsd .sgsd-box { padding: 12px 10px; }
  .sgsd .sgsd-table-wrap { margin-left: -10px; margin-right: -10px; }
}
@media (max-width: 600px) {
  .sgsd .sgsd-fit-table.sgsd-stackable { min-width: 0; width: 100%; }
  .sgsd .sgsd-fit-table.sgsd-stackable thead { display: none; }
  .sgsd .sgsd-fit-table.sgsd-stackable, .sgsd .sgsd-fit-table.sgsd-stackable tbody,
  .sgsd .sgsd-fit-table.sgsd-stackable tr, .sgsd .sgsd-fit-table.sgsd-stackable th,
  .sgsd .sgsd-fit-table.sgsd-stackable td { display: block; width: auto; min-width: 0; position: static; }
  .sgsd .sgsd-fit-table.sgsd-stackable tr.is-group th { margin-top: 14px; padding: 8px 10px; border-radius: 8px; }
  .sgsd .sgsd-fit-table.sgsd-stackable .sgsd-row-head { border-bottom: 0; padding: 10px 10px 2px; background: transparent; }
  .sgsd .sgsd-fit-table.sgsd-stackable td { padding: 4px 10px 12px; border-bottom: 1px solid var(--sgsd-line); }
  .sgsd .sgsd-fit-table.sgsd-stackable td[data-col]::before { content: attr(data-col); display: block; font-size: 11px; color: var(--sgsd-muted); margin-bottom: 2px; }
}

/* 2.4.35 (Jake 2026-10-18): account rows as dots - one dot per simulated account start, legend with the counts */
.sgsd .sgsd-group-note { float: right; margin-left: 12px; font-family: var(--sgsd-mono); font-size: 11px; font-weight: 400; color: var(--sgsd-muted); }
.sgsd .sgsd-fit-table .sgsd-row-head .sgsd-th-sub { font-family: var(--sgsd-sans); font-size: 11px; line-height: 1.4; margin-top: 4px; }
.sgsd .sgsd-td-typ { display: block; font-size: 13px; font-weight: 700; color: var(--sgsd-text); margin-top: 2px; }
.sgsd .sgsd-td-line { display: block; font-size: 13px; color: var(--sgsd-text); margin-top: 4px; }
.sgsd .sgsd-dotbox { margin: 8px 0 2px; }
.sgsd .sgsd-dots { display: flex; flex-wrap: wrap; gap: 3px; }
.sgsd .sgsd-dots i, .sgsd .sgsd-dot-legend i { display: block; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--sgsd-muted); }
.sgsd .sgsd-dots.is-small i { width: 8px; height: 8px; }
.sgsd .sgsd-dotbar { display: flex; gap: 2px; height: 10px; border-radius: 5px; overflow: hidden; }
.sgsd .sgsd-dotbar span { flex: 1 1 0; min-width: 2px; background: var(--sgsd-muted); }
.sgsd .sgsd-dots .is-up, .sgsd .sgsd-dotbar .is-up, .sgsd .sgsd-dot-legend .is-up { background: var(--sgsd-up); }
.sgsd .sgsd-dots .is-warn, .sgsd .sgsd-dotbar .is-warn, .sgsd .sgsd-dot-legend .is-warn { background: var(--sgsd-warn); }
.sgsd .sgsd-dots .is-down, .sgsd .sgsd-dotbar .is-down, .sgsd .sgsd-dot-legend .is-down { background: var(--sgsd-down); }
.sgsd .sgsd-dots .is-mute, .sgsd .sgsd-dotbar .is-mute, .sgsd .sgsd-dot-legend .is-mute { background: color-mix(in srgb, var(--sgsd-muted) 60%, transparent); }
.sgsd .sgsd-dots .is-open, .sgsd .sgsd-dotbar .is-open, .sgsd .sgsd-dot-legend .is-open { background: transparent; box-shadow: inset 0 0 0 1.5px var(--sgsd-mid); }
.sgsd .sgsd-dots .is-ring, .sgsd .sgsd-dotbar .is-ring, .sgsd .sgsd-dot-legend .is-ring { background: var(--sgsd-up); box-shadow: inset 0 0 0 2px var(--sgsd-down); }
.sgsd .sgsd-dot-legend { display: flex; flex-wrap: wrap; gap: 2px 12px; margin-top: 6px; font-size: 12px; color: var(--sgsd-mid); }
.sgsd .sgsd-dot-legend span { display: inline-flex; align-items: center; gap: 5px; }
.sgsd .sgsd-dot-legend i { width: 9px; height: 9px; }
.sgsd .sgsd-chip-is { display: inline-block; margin-top: 6px; padding: 2px 10px; border-radius: 999px; font-size: 11.5px; line-height: 1.5; white-space: normal; }
.sgsd .sgsd-chip-is.is-oos { color: var(--sgsd-up); background: color-mix(in srgb, var(--sgsd-up) 13%, transparent); }
.sgsd .sgsd-chip-is.is-in { color: var(--sgsd-warn); background: color-mix(in srgb, var(--sgsd-warn) 13%, transparent); }
.sgsd .sgsd-pline { margin: 10px 8px 2px; }
.sgsd .sgsd-pline-track { position: relative; height: 54px; }
.sgsd .sgsd-pline-track::before { content: ""; position: absolute; left: 0; right: 0; top: 19px; height: 2px; background: var(--sgsd-line2); }
.sgsd .sgsd-pline-dot { position: absolute; top: 14px; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; background: var(--sgsd-up); }
.sgsd .sgsd-pline-dot.is-start { background: var(--sgsd-mid); }
.sgsd .sgsd-pline-dot.is-end { background: var(--sgsd-muted); }
.sgsd .sgsd-pline-lab { position: absolute; top: 28px; font-size: 11px; line-height: 1.1; color: var(--sgsd-mid); white-space: nowrap; transform: translateX(-50%); }
.sgsd .sgsd-pline-lab.is-left { transform: translateX(-6px); }
.sgsd .sgsd-pline-lab.is-right { transform: translateX(calc(-100% + 6px)); }
.sgsd .sgsd-pline-lab.is-up { top: 0; }
.sgsd .sgsd-pline-lab.is-low2 { top: 58px; }
.sgsd .sgsd-pline-track.has-low2 { height: 84px; }
@media (max-width: 600px) { .sgsd .sgsd-dots i { width: 8px; height: 8px; } }

/* 2.4.35: the best-fit cards as pictures */
.sgsd .sgsd-ff-best-size { font-weight: 400; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-hl { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
.sgsd .sgsd-ff-hl-v { font-size: 30px; font-weight: 900; line-height: 1.1; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-ff-hl-k { font-size: 13.5px; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 640px) { .sgsd .sgsd-ff-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sgsd .sgsd-ff-stat { display: flex; flex-direction: column; gap: 2px; min-width: 0; padding: 8px 10px; border-radius: 8px; background: var(--sgsd-raise); border: 1px solid var(--sgsd-line); }
.sgsd .sgsd-ff-stat .sgsd-k { font-family: var(--sgsd-sans); font-size: 12px; letter-spacing: 0; text-transform: none; }
.sgsd .sgsd-ff-stat .sgsd-v { font-size: 17px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-ff-goal, .sgsd .sgsd-ff-falls, .sgsd .sgsd-ff-split-box { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--sgsd-line); padding-top: 10px; }
.sgsd .sgsd-ff-sec-t { margin: 0; font-size: 13px; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-goal-rows { display: flex; flex-direction: column; gap: 6px; }
.sgsd .sgsd-ff-goal-row { display: grid; grid-template-columns: minmax(32px, auto) minmax(0, 1fr) auto; align-items: center; gap: 12px; font-size: 13px; color: var(--sgsd-text); }
.sgsd .sgsd-ff-goal-track { height: 8px; border-radius: 4px; background: var(--sgsd-line); overflow: hidden; }
.sgsd .sgsd-ff-goal-fill { height: 100%; border-radius: 4px; background: var(--sgsd-mid); }
.sgsd .sgsd-ff-goal-fill.sgsd-up { background: var(--sgsd-up); }
.sgsd .sgsd-ff-goal-fill.sgsd-warn-t { background: var(--sgsd-warn); }
.sgsd .sgsd-ff-goal-fill.sgsd-down { background: var(--sgsd-down); }
.sgsd .sgsd-ff-verdict { margin: 0; font-size: 14px; color: var(--sgsd-mid); padding: 8px 12px; border-radius: 9px; border: 1px solid var(--sgsd-line); }   /* 2.4.68 */
.sgsd .sgsd-ff-verdict.is-ok { border-color: color-mix(in srgb, var(--sgsd-up) 45%, transparent); background: color-mix(in srgb, var(--sgsd-up) 7%, transparent); }
.sgsd .sgsd-ff-verdict.is-ok b { color: var(--sgsd-up); }
.sgsd .sgsd-ff-verdict.is-bad { border-color: color-mix(in srgb, var(--sgsd-down) 45%, transparent); background: color-mix(in srgb, var(--sgsd-down) 7%, transparent); }
.sgsd .sgsd-ff-verdict.is-bad b { color: var(--sgsd-down); }
.sgsd .sgsd-ff-verdict-how { margin: -2px 0 0; font-size: 12.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-days { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--sgsd-line); }   /* 2.4.72 */
.sgsd .sgsd-ff-days-k { font-size: 12.5px; font-weight: 700; color: var(--sgsd-text); }
.sgsd .sgsd-ff-days .sgsd-seg button { padding: 4px 12px; font-size: 13px; }
.sgsd .sgsd-ff-days-d { flex: 1 1 260px; font-size: 12px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-goal-track.is-stack { display: flex; background: color-mix(in srgb, var(--sgsd-up) 18%, var(--sgsd-line)); }   /* 2.4.66: passed | failed | out of time, the rest still going (2.4.70: a faint green, Jake 2026-10-21) */
.sgsd .sgsd-ff-goal-track.is-stack .sgsd-ff-goal-fill { border-radius: 0; flex: none; }
.sgsd .sgsd-ff-goal-track.is-stack .sgsd-ff-goal-fill + .sgsd-ff-goal-fill { box-shadow: -1px 0 0 var(--sgsd-raise); }
/* 2.4.66: the other fits, one short line each */
.sgsd .sgsd-ff-others { display: flex; flex-direction: column; gap: 6px; }
.sgsd .sgsd-ff-other { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px 16px; padding: 10px 12px; border: 1px solid var(--sgsd-line); border-radius: 10px; background: var(--sgsd-raise); }
.sgsd .sgsd-ff-other.is-warn { border-style: dashed; }
.sgsd .sgsd-ff-other.is-on { border-color: var(--sgsd-accent); }
.sgsd .sgsd-ff-other-what { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.sgsd .sgsd-ff-other-names { font-size: 13.5px; font-weight: 700; color: var(--sgsd-text); overflow-wrap: anywhere; }
.sgsd .sgsd-ff-other-nums { display: flex; gap: 14px; }
.sgsd .sgsd-ff-other-acts { display: flex; gap: 6px; }   /* 2.4.69: Full view + Show */
.sgsd .sgsd-ff-other-slot > .sgsd-ff-best { margin: 0; }
.sgsd .sgsd-ff-less.is-top { margin-left: auto; padding: 5px 12px; font-size: 13px; }   /* 2.4.71: Hide card in the opened card's head */
.sgsd .sgsd-ff-other-num { display: flex; flex-direction: column; gap: 1px; white-space: nowrap; }
.sgsd .sgsd-ff-other-num b { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }
@media (max-width: 760px) {
  .sgsd .sgsd-ff-other { grid-template-columns: minmax(0, 1fr) auto; }
  .sgsd .sgsd-ff-other-nums { grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap; }
}
.sgsd .sgsd-ff-goal-v { font-family: var(--sgsd-mono); font-size: 12.5px; text-align: right; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-ff-falls-m { position: relative; height: 12px; font-size: 10.5px; line-height: 12px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-falls-m span { position: absolute; top: 0; }
.sgsd .sgsd-ff-falls-plot { position: relative; height: 62px; cursor: crosshair; touch-action: pan-y; }
.sgsd .sgsd-ff-falls-plot svg { display: block; width: 100%; height: 100%; overflow: visible; }
.sgsd .sgsd-ff-fall { fill: var(--sgsd-warn); }
.sgsd .sgsd-ff-fall.is-red { fill: var(--sgsd-down); }
.sgsd .sgsd-ff-fall.is-hover { fill: var(--sgsd-text); }
.sgsd .sgsd-ff-falls-zero { stroke: var(--sgsd-line2); stroke-width: 1; }
.sgsd .sgsd-ff-falls-limit { stroke: var(--sgsd-down); stroke-width: 1; stroke-dasharray: 4 3; }
.sgsd .sgsd-ff-falls-tip { top: auto; bottom: calc(100% + 2px); }
.sgsd .sgsd-ff-falls-b { position: relative; height: 14px; font-size: 11px; line-height: 14px; }
.sgsd .sgsd-ff-falls-b span { position: absolute; top: 0; white-space: nowrap; }
.sgsd .sgsd-ff-falls-lim { left: 0; color: var(--sgsd-down); }
.sgsd .sgsd-ff-falls-lim.is-right { left: auto; right: 0; }
.sgsd .sgsd-ff-falls-w { font-weight: 700; color: var(--sgsd-text); transform: translateX(-50%); }
.sgsd .sgsd-ff-falls-w.is-l { transform: translateX(-4px); }
.sgsd .sgsd-ff-falls-w.is-r { transform: translateX(calc(-100% + 4px)); }
@media (max-width: 480px) {
  .sgsd .sgsd-ff-goal-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 4px; }
  .sgsd .sgsd-ff-goal-track { grid-column: 1 / -1; grid-row: 2; }
}
.sgsd .sgsd-ff-split { display: flex; gap: 2px; border-radius: 6px; overflow: hidden; }
.sgsd .sgsd-ff-seg { flex: 1 1 0; min-width: 3.5em; padding: 5px 8px; font-size: 12px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none; }
.sgsd .sgsd-ff-seg.is-c0 { color: var(--sgsd-up); background: color-mix(in srgb, var(--sgsd-up) 20%, var(--sgsd-deep)); }
.sgsd .sgsd-ff-seg.is-c1 { color: var(--sgsd-accent); background: color-mix(in srgb, var(--sgsd-accent) 20%, var(--sgsd-deep)); }
.sgsd .sgsd-ff-seg.is-c2 { color: var(--sgsd-warn); background: color-mix(in srgb, var(--sgsd-warn) 20%, var(--sgsd-deep)); }
.sgsd .sgsd-ff-seg.is-neg { color: var(--sgsd-down); background: color-mix(in srgb, var(--sgsd-down) 20%, var(--sgsd-deep)); }
.sgsd .sgsd-ff-seg:hover, .sgsd .sgsd-ff-seg:focus { text-decoration: underline; }
.sgsd .sgsd-ff-split-f { margin: 0; font-size: 13px; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-best > .sgsd-ff-acts { border-top: 1px solid var(--sgsd-line); padding-top: 10px; }
.sgsd .sgsd-ff-whybtn { margin-left: auto; }
.sgsd .sgsd-ff-why { display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 1.45; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-why[hidden] { display: none; }
.sgsd .sgsd-ff-why p { margin: 0; }

/* 2.4.37 (Jake 2026-10-18): how much each payout pays */
.sgsd .sgsd-amt-boxes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.sgsd .sgsd-amt-box { display: inline-flex; flex-direction: column; padding: 4px 10px; border-radius: 8px; color: var(--sgsd-up); background: color-mix(in srgb, var(--sgsd-up) 12%, transparent); border: 1px solid color-mix(in srgb, var(--sgsd-up) 35%, transparent); }
.sgsd .sgsd-amt-box b { font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-amt-k { font-size: 11px; color: var(--sgsd-mid); }
.sgsd .sgsd-amt-note { margin-left: 8px; font-size: 12.5px; color: var(--sgsd-mid); }
/* 2.4.46: the average total in its parts, and why the watch is 120 days */
.sgsd .sgsd-amt-sum { margin: 8px 0 0; font-size: 12.5px; line-height: 1.55; color: var(--sgsd-text); font-variant-numeric: tabular-nums; }
.sgsd .sgsd-amt-sum b { font-weight: 700; }
.sgsd .sgsd-amt-sum .sgsd-muted { font-size: 12px; }
.sgsd .sgsd-why-days { margin-top: 4px; }
.sgsd .sgsd-pline-amt { display: block; margin-top: 2px; font-weight: 700; color: var(--sgsd-up); }
.sgsd .sgsd-pline-lab.is-up .sgsd-pline-amt { display: inline; margin-top: 0; }
.sgsd .sgsd-ff-goal-rows.has-amt .sgsd-ff-goal-row { grid-template-columns: minmax(32px, auto) minmax(0, 1fr) auto minmax(0, auto); }
.sgsd .sgsd-ff-goal-a { font-size: 12.5px; color: var(--sgsd-up); white-space: nowrap; }
.sgsd .sgsd-ff-goal-total { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin-top: 4px; font-size: 13px; color: var(--sgsd-text); }
.sgsd .sgsd-ff-goal-tv { display: inline-flex; align-items: baseline; gap: 8px; }
.sgsd .sgsd-ff-goal-tv b { font-size: 20px; font-weight: 900; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-ff-goal-avg { font-size: 12.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-ff-goal-pol { margin: 0; font-size: 12px; color: var(--sgsd-muted); }
@media (max-width: 480px) {
  .sgsd .sgsd-ff-goal-rows.has-amt .sgsd-ff-goal-row { grid-template-columns: minmax(0, 1fr) auto; }
  .sgsd .sgsd-ff-goal-a { grid-column: 1 / -1; grid-row: 3; white-space: normal; }
}
.sgsd .sgsd-ff-seg-t { display: inline-block; }
.sgsd .sgsd-ff-seg.is-narrow .sgsd-ff-seg-t { visibility: hidden; }
.sgsd .sgsd-ff-seg-lgs { display: flex; flex-wrap: wrap; gap: 2px 12px; font-size: 12px; color: var(--sgsd-mid); }
.sgsd .sgsd-ff-seg-lgs[hidden], .sgsd .sgsd-ff-seg-lg[hidden] { display: none; }
.sgsd .sgsd-ff-seg-lg { display: inline-flex; align-items: center; gap: 5px; }
.sgsd .sgsd-ff-seg-lg i { display: block; width: 9px; height: 9px; border-radius: 2px; background: var(--sgsd-mid); }
.sgsd .sgsd-ff-seg-lg.is-c0 i { background: var(--sgsd-up); }
.sgsd .sgsd-ff-seg-lg.is-c1 i { background: var(--sgsd-accent); }
.sgsd .sgsd-ff-seg-lg.is-c2 i { background: var(--sgsd-warn); }
.sgsd .sgsd-ff-seg-lg.is-neg i { background: var(--sgsd-down); }

/* 2.4.40: administrator-only templates */
/* 2.4.48: Schedule finder (admin) */
.sgsd .sgsd-sf-body { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.sgsd .sgsd-sf-ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.sgsd .sgsd-sf-slider { display: flex; flex-direction: column; gap: 4px; min-width: 240px; flex: 1; }
.sgsd .sgsd-sf-slider input { width: 100%; accent-color: var(--sgsd-accent); }
.sgsd .sgsd-sf-sl-k { font-size: 13px; color: var(--sgsd-mid); }
.sgsd .sgsd-sf-sl-k b { color: var(--sgsd-text); font-size: 15px; }
.sgsd .sgsd-sf-tl { display: flex; flex-direction: column; gap: 6px; padding: 10px 12px 4px; border: 1px solid var(--sgsd-line2); border-radius: 10px; background: var(--sgsd-deep); }
.sgsd .sgsd-sf-lane { display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 8px; }
.sgsd .sgsd-sf-lane-k { font-family: var(--sgsd-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--sgsd-muted); }
.sgsd .sgsd-sf-track { position: relative; height: 30px; border-radius: 6px; background: color-mix(in srgb, var(--sgsd-line) 60%, transparent); }
.sgsd .sgsd-sf-bar { position: absolute; top: 3px; bottom: 3px; border-radius: 5px; background: color-mix(in srgb, var(--sgsd-accent) 75%, transparent); border: 1px solid var(--sgsd-accent); overflow: hidden; display: flex; align-items: center; padding: 0 6px; }
.sgsd .sgsd-sf-bar-n { font-family: var(--sgsd-mono); font-size: 10.5px; font-weight: 700; color: var(--sgsd-on-accent); white-space: nowrap; }
.sgsd .sgsd-sf-axis { position: relative; height: 16px; margin-left: 60px; }
.sgsd .sgsd-sf-axis span { position: absolute; transform: translateX(-50%); font-family: var(--sgsd-mono); font-size: 10px; color: var(--sgsd-muted); }
.sgsd .sgsd-sf-axis span:first-child { transform: none; }
.sgsd .sgsd-sf-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.sgsd .sgsd-sf-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--sgsd-accent); margin-right: 8px; }
.sgsd .sgsd-sf-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; }
.sgsd .sgsd-sf-tile { display: flex; flex-direction: column; gap: 2px; padding: 9px 12px; border-radius: 9px; background: var(--sgsd-raise); border: 1px solid var(--sgsd-line); }
.sgsd .sgsd-sf-tile-k { font-size: 12px; color: var(--sgsd-muted); }
.sgsd .sgsd-sf-tile b { font-size: 19px; font-weight: 800; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-sf-hours { margin: 0; font-size: 12.5px; color: var(--sgsd-accent); }
.sgsd .sgsd-sf-ed button { font-weight: 700; }
.sgsd .sgsd-sf-hrs { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-top: 4px; }
.sgsd .sgsd-sf-hrs-k { font-size: 13px; font-weight: 700; color: var(--sgsd-text); }
.sgsd .sgsd-sf-hr { display: inline-flex; flex-wrap: nowrap; align-items: center; gap: 6px; }
.sgsd .sgsd-sf-hr .sgsd-ff-input { width: 132px; min-width: 0; flex: none; padding: 7px 8px; }
.sgsd .sgsd-sf-hrs-n { flex-basis: 100%; font-size: 12px; color: var(--sgsd-muted); }
.sgsd .sgsd-sf-dl { font-weight: 800; }
.sgsd .sgsd-sf-switch { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--sgsd-mid); cursor: pointer; }
/* 2.4.49 (Jake 2026-10-19): SCHEDULE (edited) templates in one distinct dashed outline, on the bar, the list row and the card */
.sgsd { --sgsd-edited: #F2B84B; }
.sgsd .sgsd-sf-bar.is-edited { border: 2px dashed var(--sgsd-edited); background: color-mix(in srgb, var(--sgsd-accent) 45%, transparent); }
.sgsd .sgsd-sf-list li.is-edited { outline: 1.5px dashed var(--sgsd-edited); outline-offset: 2px; border-radius: 6px; padding: 2px 6px; margin: 3px 3px; }
.sgsd .sgsd-sf-list { padding: 2px 0 6px; }   /* 2.4.57: room for the outline of the first / last row (Jake 2026-10-21: it got cut off) */
.sgsd .sgsd-card.is-edited { border: 2px dashed var(--sgsd-edited); }
.sgsd .sgsd-edited-tag { color: var(--sgsd-edited); border-color: var(--sgsd-edited); }
.sgsd .sgsd-sf-edit { margin-left: 8px; font-size: 10px; color: var(--sgsd-on-accent); white-space: nowrap; opacity: .9; }
.sgsd .sgsd-sf-edit-tag { margin-left: 8px; font-family: var(--sgsd-mono); font-size: 11px; color: var(--sgsd-edited); }
.sgsd .sgsd-sf-chart svg { width: 100%; height: auto; display: block; }
.sgsd .sgsd-sf-own { fill: none; stroke: var(--sgsd-accent); stroke-width: 1.4; stroke-opacity: .85; stroke-dasharray: 5 3; }
.sgsd .sgsd-sf-ddlab { fill: var(--sgsd-down); font-weight: 700; }
.sgsd .sgsd-sf-legend { display: flex; flex-direction: column; gap: 4px; margin-top: 6px; font-size: 12.5px; color: var(--sgsd-mid); }   /* 2.4.77: one line each (Jake 2026-10-21) */
.sgsd .sgsd-sf-key { display: inline-block; width: 16px; height: 0; border-top: 2px dashed var(--sgsd-accent); margin-right: 6px; vertical-align: 3px; }
.sgsd .sgsd-sf-key.is-set { border-top: 3px solid var(--sgsd-up); }
/* 2.4.47: New (template set up this week) / Updated (strategy release this week) */
.sgsd .sgsd-new-tag { font-family: var(--sgsd-mono); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; color: var(--sgsd-on-accent); background: var(--sgsd-accent); white-space: nowrap; }
.sgsd .sgsd-new-tag.is-updated { color: var(--sgsd-accent); background: color-mix(in srgb, var(--sgsd-accent) 14%, transparent); border: 1px solid color-mix(in srgb, var(--sgsd-accent) 55%, transparent); }
.sgsd .sgsd-tab-new { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.sgsd .sgsd-tab-new .sgsd-new-tag { font-size: 9.5px; padding: 1px 6px; }
.sgsd .sgsd-admin-tag { font-family: var(--sgsd-mono); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; color: var(--sgsd-warn); border: 1px dashed color-mix(in srgb, var(--sgsd-warn) 60%, transparent); }

/* 2.4.42: fresh-account rows on Size Ladder cards */
.sgsd .sgsd-fresh { gap: 10px; }
.sgsd .sgsd-fresh-hd { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.sgsd .sgsd-fresh-acct button { padding: 5px 10px; font-size: 12.5px; }
.sgsd .sgsd-fresh-rows { display: flex; flex-direction: column; gap: 8px; }
.sgsd .sgsd-fresh-row { display: grid; grid-template-columns: minmax(120px, 170px) minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--sgsd-line); }
.sgsd .sgsd-fresh-row.is-ladder { border-color: color-mix(in srgb, var(--sgsd-ladder, #A78BFA) 55%, var(--sgsd-line)); background: color-mix(in srgb, var(--sgsd-ladder, #A78BFA) 10%, transparent); }
.sgsd .sgsd-fresh-name { display: flex; flex-direction: column; gap: 1px; font-size: 13px; color: var(--sgsd-text); }
.sgsd .sgsd-fresh-name span { font-size: 11.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-fresh-row .sgsd-dotbox { margin: 0; }
.sgsd .sgsd-fresh-v { display: flex; flex-direction: column; align-items: flex-end; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-fresh-v b { font-size: 16px; color: var(--sgsd-up); }
.sgsd .sgsd-fresh-v span { font-size: 11px; color: var(--sgsd-muted); }
.sgsd .sgsd-fresh-fact { margin: 0; font-size: 13.5px; color: var(--sgsd-text); }
.sgsd .sgsd-fresh.is-small .sgsd-fresh-row { grid-template-columns: minmax(0, 1fr) auto; }
.sgsd .sgsd-fresh.is-small .sgsd-fresh-row .sgsd-dotbox { grid-column: 1 / -1; grid-row: 2; }
@media (max-width: 600px) {
  .sgsd .sgsd-fresh-row { grid-template-columns: minmax(0, 1fr) auto; }
  .sgsd .sgsd-fresh-row .sgsd-dotbox { grid-column: 1 / -1; grid-row: 2; }
}

/* 2.4.43: fresh accounts on every card, show / hide, the ladder story header */
.sgsd .sgsd-fresh-ctl { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; font-size: 13px; color: var(--sgsd-mid); padding: 8px 12px; border: 1px solid var(--sgsd-line); border-radius: 10px; background: var(--sgsd-raise); }
.sgsd .sgsd-cfresh { display: flex; flex-direction: column; gap: 6px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--sgsd-line); background: var(--sgsd-raise); }
.sgsd .sgsd-cfresh-hd { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--sgsd-mid); }
.sgsd .sgsd-cfresh-k { flex: 1 1 auto; min-width: 0; }
.sgsd .sgsd-cfresh-v { font-size: 13.5px; font-variant-numeric: tabular-nums; color: var(--sgsd-text); }
.sgsd .sgsd-cfresh-v.sgsd-up { color: var(--sgsd-up); }
.sgsd .sgsd-cfresh-tg { padding: 2px 8px; font-size: 11.5px; }
.sgsd .sgsd-cfresh.is-hidden .sgsd-cfresh-body { display: none; }
.sgsd .sgsd-cfresh .sgsd-dotbox { margin: 0; }
.sgsd .sgsd-dots.is-tiny { gap: 2px; }
.sgsd .sgsd-dots.is-tiny i { width: 6px; height: 6px; }
.sgsd .sgsd-cfresh-line { margin: 4px 0 0; font-size: 11.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-l3-row { display: grid; grid-template-columns: minmax(64px, auto) minmax(0, 1fr) auto; align-items: center; gap: 8px; font-size: 12px; color: var(--sgsd-mid); margin-top: 4px; }
.sgsd .sgsd-l3-row.is-ladder { font-weight: 800; color: var(--sgsd-ladder, #A78BFA); }
.sgsd .sgsd-l3-bar { height: 7px; }
.sgsd .sgsd-l3-v { font-size: 12.5px; color: var(--sgsd-up); font-variant-numeric: tabular-nums; }
.sgsd .sgsd-story-sum { display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; list-style: none; }
.sgsd .sgsd-story-sum::-webkit-details-marker { display: none; }
.sgsd .sgsd-story-h { margin: 0; font-size: 17px; font-weight: 800; color: var(--sgsd-text); }
.sgsd .sgsd-story-sub { margin: 2px 0 0; font-size: 12.5px; color: var(--sgsd-muted); }
.sgsd .sgsd-story-btn { flex: none; }
.sgsd .sgsd-fresh-ctlbox { display: flex; flex-direction: column; gap: 6px; }
.sgsd .sgsd-fresh-key { margin: 0; font-size: 13px; line-height: 1.45; color: var(--sgsd-mid); max-width: 110ch; }
.sgsd .sgsd-cfresh-k { font-size: 12.5px; line-height: 1.4; color: var(--sgsd-text); }
.sgsd .sgsd-cfresh-paid { margin: 2px 0 0; font-size: 13px; color: var(--sgsd-text); }
.sgsd .sgsd-cfresh-paid b { font-size: 14.5px; font-variant-numeric: tabular-nums; }
.sgsd .sgsd-cfresh-hd { align-items: flex-start; }
.sgsd .sgsd-kind-group.is-scalein { border-color: color-mix(in srgb, var(--sgsd-accent) 50%, transparent); border-style: dashed; background: color-mix(in srgb, var(--sgsd-accent) 4%, transparent); }
.sgsd .sgsd-kind-tag.is-scalein { color: var(--sgsd-accent); background: color-mix(in srgb, var(--sgsd-accent) 14%, transparent); border-color: color-mix(in srgb, var(--sgsd-accent) 45%, transparent); }
.sgsd .sgsd-cfresh-kl { font-size: 13px; font-weight: 700; }

/* 2.4.44: the story opening everywhere */
.sgsd .sgsd-story-line { margin: 6px 0 2px; font-size: 12.5px; line-height: 1.4; color: var(--sgsd-text); white-space: normal; font-family: var(--sgsd-sans); }

/* 2.4.80: "If you had started in ..." - the account checks per start month */
.sgsd .sgsd-mstrip { display: flex; flex-direction: column; gap: 6px; margin: 10px 0 4px; padding: 10px 12px; border: 1px solid var(--sgsd-line); border-radius: 10px; background: var(--sgsd-deep); }
.sgsd .sgsd-mstrip-t { margin: 0; font-size: 13px; font-weight: 700; color: var(--sgsd-text); }
.sgsd .sgsd-mstrip-row { display: grid; grid-template-columns: repeat(auto-fill, minmax(66px, 1fr)); gap: 6px; }
.sgsd .sgsd-mstrip-m { display: flex; flex-direction: column; gap: 1px; padding: 6px 7px; border-radius: 8px; border: 1px solid var(--sgsd-line); opacity: .55; font-family: var(--sgsd-sans); }
.sgsd .sgsd-mstrip-m.is-in { opacity: 1; border-width: 2px; }
.sgsd .sgsd-mstrip-m b { font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; line-height: 1.2; }
.sgsd .sgsd-mstrip-u { font-size: 11px; font-weight: 700; color: var(--sgsd-mid); }
.sgsd .sgsd-mstrip-k { font-family: var(--sgsd-mono); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--sgsd-muted); }
.sgsd .sgsd-mstrip-d { font-size: 11px; color: var(--sgsd-muted); white-space: nowrap; }
.sgsd .sgsd-mstrip-m.is-up { border-color: color-mix(in srgb, var(--sgsd-up) 60%, transparent); background: color-mix(in srgb, var(--sgsd-up) 10%, transparent); }
.sgsd .sgsd-mstrip-m.is-up b { color: var(--sgsd-up); }
.sgsd .sgsd-mstrip-m.is-warn { border-color: color-mix(in srgb, var(--sgsd-warn) 60%, transparent); background: color-mix(in srgb, var(--sgsd-warn) 10%, transparent); }
.sgsd .sgsd-mstrip-m.is-warn b { color: var(--sgsd-warn); }
.sgsd .sgsd-mstrip-m.is-down { border-color: color-mix(in srgb, var(--sgsd-down) 60%, transparent); background: color-mix(in srgb, var(--sgsd-down) 10%, transparent); }
.sgsd .sgsd-mstrip-m.is-down b { color: var(--sgsd-down); }
.sgsd .sgsd-mstrip-m.is-open b { color: var(--sgsd-mid); }
.sgsd .sgsd-mstrip-sum { margin: 0; font-size: 12.5px; color: var(--sgsd-mid); }
/* 2.4.84: the month boxes in the row's left cell when one column is shown; under the result on a phone */
.sgsd .sgsd-mstrip { font-weight: 400; letter-spacing: 0; text-transform: none; }
.sgsd .sgsd-mstrip.is-inline { display: none; }
.sgsd .sgsd-mstrip.is-side { margin-top: 14px; }
@media (max-width: 760px) {
  .sgsd .sgsd-mstrip.is-side { display: none; }
  .sgsd .sgsd-mstrip.is-inline { display: flex; }
}
/* 2.4.90 (2026-10-23): MIX sets - the guard rule, the Beta line and the templates with their multipliers */
.sgsd .sgsd-mix-box { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; padding: 10px 12px; border: 1px solid var(--sgsd-line2); border-radius: 10px; background: var(--sgsd-deep); }
.sgsd .sgsd-mix-rule { font-size: 12.5px; color: var(--sgsd-mid); }
.sgsd .sgsd-mix-beta { font-size: 12.5px; color: var(--sgsd-warn); }
.sgsd .sgsd-mix-parts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.sgsd .sgsd-mix-parts li { display: flex; gap: 8px; align-items: baseline; font-size: 12.5px; color: var(--sgsd-text); border-left: 3px solid var(--sgsd-accent); padding-left: 8px; }
.sgsd .sgsd-mix-x { font-family: var(--sgsd-mono); font-weight: 600; color: var(--sgsd-accent); min-width: 2.2em; }
.sgsd .sgsd-mix-name { overflow-wrap: anywhere; }
.sgsd .sgsd-mix-figs { font-family: var(--sgsd-mono); font-size: 11.5px; color: var(--sgsd-muted); }
/* 2.4.91: a MIX card's download button */
.sgsd .sgsd-mix-dl { align-self: flex-start; }
/* Walk Forward (2025-2026) section (Jake 2026-10-23): its own colour, framed like the other two sets */
.sgsd { --sgsd-wf: #6CA8FF; }
.sgsd .sgsd-style-group.is-boxed.is-wf { --sgsd-set: var(--sgsd-wf); background: color-mix(in srgb, var(--sgsd-wf) 8%, var(--sgsd-deep)); border-color: color-mix(in srgb, var(--sgsd-wf) 55%, var(--sgsd-line)); }
.sgsd .sgsd-style-group.is-wf .sgsd-style-head h3 { color: var(--sgsd-wf); }
.sgsd .sgsd-style-tag.is-wf { color: var(--sgsd-wf); border-color: color-mix(in srgb, var(--sgsd-wf) 45%, transparent); }
/* 2.4.92: MIX sets box under the Schedule finder - one card per set, its templates with tick boxes */
.sgsd .sgsd-mix-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 12px; margin-top: 10px; }
.sgsd .sgsd-mix-card { margin-top: 0; }
.sgsd .sgsd-mix-card.is-on { border-color: var(--sgsd-accent); box-shadow: 0 0 0 1px var(--sgsd-accent) inset; }
.sgsd .sgsd-mix-title { font-size: 16px; font-weight: 800; color: var(--sgsd-text); }
.sgsd .sgsd-mix-tick { display: flex; gap: 8px; align-items: baseline; cursor: pointer; }
.sgsd .sgsd-mix-tick input { margin: 0; transform: translateY(2px); accent-color: var(--sgsd-accent); }
.sgsd .sgsd-mix-tick input:disabled { cursor: not-allowed; }
/* 2.4.97: the MIX finder at the top of the MIX box */
.sgsd .sgsd-mixf { display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; margin-bottom: 14px; border: 1px solid var(--sgsd-line2); border-radius: 12px; background: var(--sgsd-raise); }
.sgsd .sgsd-mixf-ctl { display: flex; flex-wrap: wrap; gap: 10px 14px; }
.sgsd .sgsd-mixf-field { display: flex; flex-direction: column; gap: 4px; min-width: 150px; }
.sgsd .sgsd-mixf-field select { background: var(--sgsd-deep); color: var(--sgsd-text); border: 1px solid var(--sgsd-line2); border-radius: 8px; padding: 6px 8px; font: inherit; }
/* 2.5.0: the MIX cards' set-up text, collapsed */
.sgsd .sgsd-mix-how summary { cursor: pointer; list-style: revert; }
.sgsd .sgsd-mix-how[open] summary { margin-bottom: 6px; }
/* 2.5.1: one line above the three finders */
.sgsd .sgsd-finders-intro { margin: 4px 0 10px; font-size: 13.5px; color: var(--sgsd-mid); }
/* 2.5.3: a MIX part's original template under its MIX file name */
.sgsd .sgsd-mix-of { display: block; margin-top: 2px; font-size: 0.85em; font-weight: 400; color: var(--sgsd-muted); }
/* 2.5.5: "Walk-forward confirmed" */
.sgsd .sgsd-wfc-tag { font-family: var(--sgsd-mono); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; color: var(--sgsd-up); border: 1px solid color-mix(in srgb, var(--sgsd-up) 55%, transparent); cursor: help; }
/* 2.5.6: the note next to "Since Jan 2025" */
.sgsd .sgsd-y25-note { flex-basis: 100%; font-size: 12px; color: var(--sgsd-muted); }
