:root {
  color-scheme:dark;
  --bg:#0e1116;
  --surface:#14191f;
  --surface-2:#191f27;
  --surface-3:#202833;
  --nav:#101419;
  --text:#e9edf2;
  --muted:#9ba7b6;
  --quiet:#768392;
  --line:#28313b;
  --accent:#8fd6b5;
  --accent-bg:#203a31;
  --accent-ink:#092719;
  --positive:#96d5b5;
  --negative:#f29797;
  --warn:#e8bd80;
  --warn-bg:#352b1d;
  --danger-bg:#352329;
  --chart-grid:#28313b;
  --radius:12px;
  --row:17px;
  --shadow:0 20px 70px #0007;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:14px;
  line-height:1.5;
  background:var(--bg);
  color:var(--text)
}
html[data-theme=light] {
  color-scheme:light;
  --bg:#f3f5f4;
  --surface:#fff;
  --surface-2:#f7f9f8;
  --surface-3:#eaf0ed;
  --nav:#fafcfb;
  --text:#1e2927;
  --muted:#596963;
  --quiet:#6b7b74;
  --line:#dce4df;
  --accent:#22694e;
  --accent-bg:#e5f2eb;
  --accent-ink:#fff;
  --positive:#246c4e;
  --negative:#b54850;
  --warn:#94631d;
  --warn-bg:#fcf1dc;
  --danger-bg:#fbecee;
  --chart-grid:#e1e7e3;
  --shadow:0 20px 70px #20352c25
}
* {
  box-sizing:border-box
}
body {
  margin:0
}
button,input,select,textarea {
  font:inherit
}
button,a,select,input,textarea,summary {
  -webkit-tap-highlight-color:transparent
}
button,a {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:disabled {
  opacity:.5;
  cursor:not-allowed
}
a {
  color:inherit;
  text-decoration:none
}
button {
  color:inherit
}
button svg {
  flex-shrink:0
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:4px
}
button:hover:not(:disabled),a:hover {
  filter:brightness(1.08)
}
[hidden] {
  display:none!important
}
.skip {
  position:fixed;
  top:-80px;
  left:20px;
  padding:12px;
  background:var(--surface);
  z-index:100
}
.skip:focus {
  top:5px
}
.icon {
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:1.65;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:middle;
  flex-shrink:0
}
.preview-bar {
  min-height:44px;
  background:#242b32;
  color:#e1e6ec;
  border-bottom:1px solid #424a53;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:7px 20px;
  gap:10px;
  font-size:11px;
  position:relative;
  z-index:30
}
.preview-label {
  display:flex;
  gap:9px;
  align-items:center;
  white-space:nowrap
}
.preview-label strong {
  font-size:10px;
  letter-spacing:1.4px;
  font-weight:650
}
.preview-sub {
  color:#bac5d0;
  font-size:11px
}
.preview-dot {
  height:6px;
  width:6px;
  border-radius:50%;
  background:#dfb777
}
.preview-tools {
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap
}
.preview-tools button,.preview-tools a {
  border:1px solid #48535e;
  border-radius:5px;
  background:transparent;
  color:#dce5ed;
  padding:4px 9px;
  min-height:28px;
  font-size:11px
}
.preview-tools button[aria-pressed=true] {
  background:#44574e;
  border-color:#86b99e
}
.app-shell {
  display:grid;
  grid-template-columns:216px minmax(0,1fr);
  min-height:calc(100vh - 44px);
  background:var(--bg)
}
.sidebar {
  background:var(--nav);
  border-right:1px solid var(--line);
  padding:29px 14px 0;
  display:flex;
  flex-direction:column;
  position:sticky;
  top:0;
  height:calc(100vh - 44px);
  min-height:620px
}
.brand {
  display:flex;
  gap:10px;
  align-items:center;
  margin:0 7px 38px;
  font-size:19px;
  font-weight:650;
  letter-spacing:-.55px
}
.brand-mark {
  width:31px;
  height:34px;
  display:grid;
  place-items:center;
  background:var(--accent-bg);
  color:var(--accent);
  border-radius:8px
}
.brand-mark .icon {
  width:22px;
  height:22px
}
.brand-caption {
  display:block;
  font-size:8px;
  color:var(--quiet);
  letter-spacing:1.4px;
  margin-top:2px;
  font-weight:500
}
.nav-group-label {
  font-size:9px;
  color:var(--quiet);
  letter-spacing:1.5px;
  font-weight:650;
  margin:0 13px 11px
}
.secondary-label {
  margin-top:32px
}
.nav-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 13px;
  border-radius:7px;
  color:var(--muted);
  margin-bottom:3px;
  font-size:13px;
  transition:background .15s
}
.nav-item.active {
  background:var(--surface-3);
  color:var(--text);
  font-weight:550
}
.nav-item.active .icon {
  color:var(--accent)
}
.nav-item:hover {
  background:var(--surface-2);
  color:var(--text)
}
.count {
  margin-left:auto;
  border-radius:5px;
  background:var(--accent-bg);
  color:var(--accent);
  font-size:10px;
  padding:1px 6px;
  font-weight:650
}
.sidebar-bottom {
  margin-top:auto;
  padding-top:30px
}
.system-mini {
  display:flex;
  align-items:center;
  gap:9px;
  text-align:left;
  padding:14px 8px 21px;
  width:100%;
  border:0;
  background:none;
  font-size:11px
}
.system-mini small {
  display:block;
  color:var(--quiet);
  font-size:9px;
  margin-top:3px
}
.system-mini>.icon {
  margin-left:auto;
  width:13px
}
.status-dot {
  display:inline-block;
  height:6px;
  width:6px;
  border-radius:50%;
  background:var(--positive);
  flex-shrink:0
}
.profile {
  display:flex;
  align-items:center;
  gap:10px;
  border-top:1px solid var(--line);
  padding:19px 6px;
  font-size:12px
}
.profile small {
  display:block;
  font-size:9px;
  color:var(--quiet)
}
.avatar {
  background:var(--surface-3);
  color:var(--muted);
  border:1px solid var(--line);
  height:32px;
  width:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:12px
}
.profile .icon-button {
  margin-left:auto
}
.workspace {
  min-width:0
}
.topbar {
  min-height:69px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 32px;
  border-bottom:1px solid var(--line);
  gap:14px;
  background:var(--bg)
}
.breadcrumb {
  font-size:11px;
  color:var(--quiet);
  white-space:nowrap
}
.breadcrumb span {
  margin:0 11px;
  color:var(--line)
}
.breadcrumb strong {
  color:var(--muted);
  font-weight:500
}
.account-tools {
  display:flex;
  align-items:center;
  gap:10px
}
.account-picker {
  display:flex;
  align-items:center;
  gap:8px
}
.account-icon {
  color:var(--muted)
}
.account-picker select {
  border:0;
  padding:5px 20px 5px 0;
  background:transparent;
  color:var(--text);
  font-size:11px;
  max-width:205px;
  cursor:pointer
}
.badge {
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:10px;
  line-height:1.3;
  padding:5px 8px;
  border-radius:5px;
  font-weight:550;
  white-space:nowrap
}
.mint {
  background:var(--accent-bg);
  color:var(--positive)
}
.amber {
  background:var(--warn-bg);
  color:var(--warn)
}
.neutral {
  background:var(--surface-3);
  color:var(--muted)
}
.red {
  background:var(--danger-bg);
  color:var(--negative)
}
.mode-badge {
  font-size:8px;
  letter-spacing:.7px
}
.top-divider {
  height:19px;
  width:1px;
  background:var(--line);
  margin:0 5px
}
.stop-button {
  background:none;
  border:0;
  color:var(--muted);
  font-size:11px;
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px
}
.stop-button .icon {
  color:var(--negative);
  width:14px
}
.icon-button {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:none;
  color:var(--muted);
  border-radius:6px
}
.mobile-menu {
  display:none
}
main {
  padding:32px;
  max-width:1630px;
  margin:0 auto;
  outline:0
}
.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:26px;
  gap:16px
}
h1 {
  margin:0;
  font-size:27px;
  line-height:1.2;
  letter-spacing:-.8px;
  font-weight:550
}
.page-heading p {
  margin:9px 0 0;
  color:var(--muted);
  font-size:12px
}
.eyebrow {
  font-size:10px;
  letter-spacing:1.5px;
  color:var(--quiet);
  font-weight:550;
  margin-bottom:8px
}
.heading-actions {
  display:flex;
  gap:9px;
  align-items:center
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 13px;
  min-height:37px;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--surface);
  font-size:11px;
  font-weight:550;
  white-space:nowrap
}
.button .icon {
  width:14px;
  height:14px
}
.primary {
  background:var(--accent);
  color:var(--accent-ink);
  border-color:var(--accent)
}
.danger {
  color:var(--negative);
  background:var(--danger-bg);
  border-color:color-mix(in srgb,var(--negative) 25%,var(--line))
}
.ghost {
  background:none
}
.text-button {
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:0;
  padding:4px 0;
  background:none;
  color:var(--accent);
  font-size:11px;
  font-weight:500
}
.text-button .icon {
  width:13px;
  height:13px
}
.panel {
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
  overflow:hidden
}
.panel-pad {
  padding:22px
}
.panel-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:20px 22px 0
}
.panel-header h2,.section-title {
  font-size:14px;
  font-weight:550;
  letter-spacing:-.15px;
  margin:0
}
.panel-header .subtle {
  font-size:10px
}
.subtle {
  color:var(--muted);
  font-size:12px
}
.positive {
  color:var(--positive)
}
.negative {
  color:var(--negative)
}
.numeric {
  font-variant-numeric:tabular-nums
}
.overview-top {
  display:grid;
  grid-template-columns:minmax(0,1fr) 305px;
  gap:20px
}
.equity-panel {
  padding:23px 24px 0;
  display:flex;
  flex-direction:column
}
.equity-head {
  display:flex;
  justify-content:space-between;
  gap:15px
}
.big-number {
  font-size:36px;
  letter-spacing:-1.4px;
  font-weight:500;
  line-height:1.3;
  font-variant-numeric:tabular-nums;
  margin:5px 0
}
.big-number .cents {
  font-size:24px;
  color:var(--muted);
  letter-spacing:-.5px
}
.return-line {
  font-size:11px;
  margin:3px 0 10px
}
.return-line .muted {
  margin-left:6px;
  color:var(--quiet)
}
.segmented {
  display:flex;
  align-items:center;
  gap:2px;
  height:29px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:6px;
  padding:2px
}
.segmented button {
  background:transparent;
  border:0;
  border-radius:4px;
  padding:4px 8px;
  color:var(--quiet);
  font-size:9px;
  line-height:1.5
}
.segmented button.selected {
  background:var(--surface-3);
  color:var(--text)
}
.chart-wrap {
  min-width:0;
  margin-top:10px;
  position:relative
}
.equity-chart {
  display:block;
  width:100%;
  height:170px;
  overflow:visible
}
.equity-chart text {
  font-family:inherit;
  fill:var(--quiet);
  font-size:11px
}
.equity-chart .gridline {
  stroke:var(--chart-grid);
  stroke-width:1;
  stroke-dasharray:2 4
}
.equity-chart .series {
  stroke:var(--accent);
  stroke-width:2.3;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round
}
.equity-chart .benchmark {
  stroke:var(--quiet);
  stroke-width:1.4;
  fill:none;
  stroke-dasharray:4 4
}
.chart-caption {
  display:flex;
  justify-content:space-between;
  font-size:9px;
  color:var(--quiet);
  padding:3px 0 17px
}
.equity-metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  margin-top:auto;
  padding:17px 0 20px
}
.equity-metrics>div+div {
  border-left:1px solid var(--line);
  padding-left:24px
}
.metric-label {
  color:var(--muted);
  font-size:10px;
  display:block;
  margin-bottom:5px
}
.metric-value {
  font-size:17px;
  font-weight:500;
  letter-spacing:-.4px;
  font-variant-numeric:tabular-nums
}
.metric-note {
  font-size:9px;
  color:var(--quiet);
  margin-top:4px
}
.attention-panel {
  display:flex;
  flex-direction:column
}
.attention-panel .panel-header {
  padding-bottom:16px
}
.attention-summary {
  font-size:12px;
  color:var(--muted);
  line-height:1.65;
  padding:0 22px 17px;
  margin:0
}
.signal-peek {
  display:flex;
  align-items:center;
  gap:11px;
  border-top:1px solid var(--line);
  padding:13px 22px
}
.ticker-tile {
  height:32px;
  width:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:7px;
  background:var(--surface-2);
  font-size:10px;
  letter-spacing:-.2px;
  color:var(--text);
  font-weight:650;
  flex-shrink:0
}
.peek-info {
  font-size:12px;
  flex:1
}
.peek-info small {
  display:block;
  color:var(--quiet);
  font-size:9px;
  margin-top:3px
}
.peek-info+span {
  font-size:10px
}
.attention-foot {
  margin-top:auto;
  padding:15px 22px 20px
}
.attention-foot .button {
  width:100%
}
.status-strip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 20px;
  margin:19px 0 26px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:9px;
  font-size:10px
}
.status-strip>div {
  display:flex;
  align-items:center;
  gap:8px
}
.status-strip strong {
  font-weight:500
}
.status-strip .icon {
  width:15px;
  color:var(--muted)
}
.status-strip span {
  color:var(--quiet)
}
.section-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:24px 0 14px
}
.section-header h2 {
  font-size:15px;
  font-weight:550;
  margin:0
}
.section-header h2 span {
  font-size:11px;
  color:var(--quiet);
  font-weight:400;
  margin-left:8px
}
.section-actions {
  display:flex;
  align-items:center;
  gap:10px
}
.filter-select {
  background:var(--surface);
  color:var(--muted);
  border:1px solid var(--line);
  border-radius:6px;
  padding:7px 26px 7px 10px;
  font-size:10px;
  min-height:33px
}
.table-scroll {
  overflow-x:auto
}
.data-table {
  border-collapse:collapse;
  width:100%;
  font-size:11px;
  white-space:nowrap
}
.data-table th {
  padding:11px 18px;
  color:var(--quiet);
  font-weight:500;
  font-size:9px;
  text-align:left;
  background:var(--surface-2);
  border-bottom:1px solid var(--line)
}
.data-table td {
  padding:var(--row) 18px;
  border-bottom:1px solid var(--line)
}
.data-table tr:last-child td {
  border-bottom:0
}
.data-table tbody tr:hover {
  background:var(--surface-2)
}
.data-table th.num,.data-table td.num {
  text-align:right;
  font-variant-numeric:tabular-nums
}
.asset-cell {
  display:flex;
  align-items:center;
  gap:10px
}
.asset-cell strong {
  font-size:11px;
  font-weight:600
}
.asset-cell small {
  display:block;
  font-size:9px;
  color:var(--quiet);
  margin-top:2px
}
.data-table .ticker-tile {
  width:29px;
  height:29px;
  font-size:8px
}
.row-link {
  border:0;
  background:none;
  padding:0;
  text-align:left;
  color:var(--text)
}
.row-link:hover strong {
  text-decoration:underline;
  text-underline-offset:3px
}
.table-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 18px;
  border-top:1px solid var(--line);
  color:var(--quiet);
  font-size:9px
}
.table-footer strong {
  font-weight:500;
  color:var(--muted)
}
.strategies-mini {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px
}
.strategy-mini {
  padding:17px 19px
}
.strategy-mini-title {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  font-size:12px;
  font-weight:500
}
.strategy-mini p {
  font-size:10px;
  color:var(--quiet);
  margin:7px 0 14px
}
.allocation-bar {
  height:4px;
  background:var(--surface-3);
  border-radius:3px;
  overflow:hidden;
  margin:9px 0
}
.allocation-bar span {
  height:100%;
  display:block;
  background:var(--accent);
  border-radius:3px
}
.mini-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:9px;
  color:var(--quiet)
}
.app-footer {
  display:flex;
  justify-content:space-between;
  font-size:9px;
  color:var(--quiet);
  padding:0 32px 20px;
  gap:15px
}
.app-footer .status-dot {
  height:4px;
  width:4px;
  margin-right:5px
}
.tabs {
  display:flex;
  gap:22px;
  border-bottom:1px solid var(--line);
  margin:0 0 23px
}
.tabs button {
  background:none;
  border:0;
  border-bottom:2px solid transparent;
  padding:0 0 12px;
  color:var(--muted);
  font-size:12px;
  display:flex;
  gap:7px;
  align-items:center
}
.tabs button.active {
  border-bottom-color:var(--accent);
  color:var(--text)
}
.tabs .count {
  font-size:9px
}
.review-grid {
  display:grid;
  grid-template-columns:310px minmax(0,1fr);
  gap:20px;
  align-items:start
}
.review-list {
  padding:7px
}
.review-list h2 {
  font-size:10px;
  letter-spacing:.5px;
  color:var(--quiet);
  font-weight:500;
  padding:9px 11px;
  margin:0
}
.signal-option {
  width:100%;
  display:block;
  padding:16px;
  border-radius:8px;
  border:1px solid transparent;
  background:none;
  text-align:left;
  margin:4px 0
}
.signal-option.selected {
  background:var(--surface-3);
  border-color:var(--line)
}
.signal-option:hover {
  background:var(--surface-2)
}
.signal-option-top {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:13px
}
.signal-option-top .badge {
  margin-left:auto
}
.signal-option p {
  font-size:10px;
  color:var(--muted);
  margin:9px 0
}
.signal-option-bottom {
  display:flex;
  justify-content:space-between;
  color:var(--quiet);
  font-size:10px
}
.signal-detail-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:22px;
  border-bottom:1px solid var(--line)
}
.signal-identity {
  display:flex;
  gap:13px;
  align-items:center
}
.signal-identity .ticker-tile {
  width:44px;
  height:44px;
  font-size:12px
}
.signal-identity h2 {
  font-size:20px;
  margin:0;
  font-weight:550;
  letter-spacing:-.5px
}
.signal-identity p {
  font-size:11px;
  color:var(--muted);
  margin:2px 0 0
}
.detail-body {
  padding:23px
}
.detail-body h3 {
  font-size:12px;
  font-weight:550;
  margin:0 0 12px
}
.order-metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:24px
}
.order-metrics strong {
  font-size:21px;
  font-weight:500;
  letter-spacing:-.4px
}
.detail-section {
  padding-top:22px;
  margin-top:22px;
  border-top:1px solid var(--line)
}
.detail-section p {
  font-size:12px;
  color:var(--muted);
  line-height:1.7;
  margin:8px 0
}
.rule-list {
  display:grid;
  gap:10px
}
.rule-list>div {
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:11px
}
.rule-list .rule-name {
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--muted)
}
.rule-list .icon {
  height:13px;
  width:13px;
  color:var(--positive)
}
.notice {
  padding:13px 15px;
  background:var(--warn-bg);
  color:var(--warn);
  border-radius:7px;
  font-size:11px;
  line-height:1.7
}
.notice.neutral-notice {
  background:var(--surface-2);
  color:var(--muted)
}
.notice p {
  color:inherit;
  margin:5px 0 0;
  font-size:11px
}
.notice strong {
  font-weight:550
}
.detail-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid var(--line);
  padding:17px 22px;
  background:var(--surface-2)
}
.detail-footer .subtle {
  font-size:10px
}
.actions-row {
  display:flex;
  gap:9px
}
.two-col {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);
  gap:22px;
  align-items:start
}
.form-panel {
  padding:24px
}
.form-panel h2 {
  font-size:15px;
  font-weight:550;
  margin:0 0 5px
}
.form-panel>p {
  font-size:11px;
  color:var(--muted);
  margin:5px 0 22px
}
.field-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.field {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:11px;
  color:var(--muted)
}
.field.full {
  grid-column:1/-1
}
.field input,.field select,.field textarea {
  width:100%;
  border:1px solid var(--line);
  background:var(--surface-2);
  color:var(--text);
  border-radius:7px;
  padding:11px 12px;
  min-width:0;
  font-size:12px
}
.field small {
  font-size:10px;
  line-height:1.5;
  color:var(--quiet)
}
.input-suffix {
  position:relative
}
.input-suffix input {
  padding-right:35px
}
.input-suffix>span {
  position:absolute;
  right:12px;
  top:11px;
  color:var(--quiet)
}
.check-row {
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:11px;
  color:var(--muted)
}
.check-row input {
  accent-color:var(--accent);
  width:15px;
  height:15px;
  flex-shrink:0;
  margin:2px 0
}
.check-row small {
  display:block;
  color:var(--quiet);
  font-size:10px;
  margin-top:4px
}
.disclosure {
  border-top:1px solid var(--line);
  margin-top:22px;
  padding-top:18px
}
.disclosure summary {
  cursor:pointer;
  font-size:11px;
  font-weight:550
}
.disclosure[open] summary {
  margin-bottom:18px
}
.form-footer {
  margin-top:25px;
  border-top:1px solid var(--line);
  padding-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px
}
.form-footer .subtle {
  font-size:10px
}
.field-error {
  color:var(--negative);
  font-size:11px;
  margin-top:12px
}
.strategy-list {
  display:grid;
  gap:16px
}
.strategy-card {
  padding:23px
}
.strategy-top {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:start
}
.strategy-title {
  display:flex;
  align-items:center;
  gap:13px
}
.strategy-glyph {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  background:var(--surface-3);
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--muted)
}
.strategy-title h2 {
  font-size:15px;
  font-weight:550;
  margin:0
}
.strategy-title p {
  font-size:10px;
  color:var(--quiet);
  margin:4px 0 0
}
.strategy-description {
  font-size:12px;
  color:var(--muted);
  line-height:1.7;
  margin:18px 0
}
.strategy-stats {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin:20px 0
}
.strategy-stats strong {
  font-size:17px;
  font-weight:500
}
.strategy-actions {
  display:flex;
  gap:8px;
  align-items:center;
  border-top:1px solid var(--line);
  padding-top:17px;
  flex-wrap:wrap
}
.strategy-actions .timestamp {
  margin-left:auto;
  font-size:10px;
  color:var(--quiet)
}
.summary-rows {
  display:grid;
  gap:0
}
.summary-rows>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  padding:13px 0;
  gap:15px;
  font-size:11px
}
.summary-rows>div:last-child {
  border:0
}
.summary-rows span {
  color:var(--muted)
}
.summary-rows strong {
  font-weight:500;
  font-variant-numeric:tabular-nums
}
.summary-rows h3 {
  margin:0
}
.eyebrow-line {
  font-size:10px;
  color:var(--quiet);
  margin:22px 0 10px
}
.run-row {
  display:block;
  padding:18px 22px;
  border-bottom:1px solid var(--line);
  width:100%;
  background:none;
  border-top:0;
  border-left:0;
  border-right:0;
  text-align:left
}
.run-row:last-child {
  border:0
}
.run-row:hover {
  background:var(--surface-2)
}
.run-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:12px
}
.run-meta {
  color:var(--quiet);
  font-size:10px;
  margin-top:5px
}
.run-values {
  display:flex;
  gap:20px;
  margin-top:12px;
  font-size:11px
}
.run-values span {
  color:var(--quiet);
  font-size:9px;
  margin-left:3px
}
.search-input {
  display:flex;
  align-items:center;
  gap:8px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:7px;
  padding:7px 11px;
  color:var(--quiet)
}
.search-input .icon {
  height:14px;
  width:14px
}
.search-input input {
  border:0;
  outline:0;
  background:none;
  color:var(--text);
  font-size:11px;
  min-width:0;
  width:140px
}
.stat-band {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-bottom:23px;
  padding:21px 23px
}
.stat-band>div+div {
  border-left:1px solid var(--line);
  padding-left:25px
}
.stat-band strong {
  font-size:22px;
  font-weight:500;
  font-variant-numeric:tabular-nums
}
.note-excerpt {
  color:var(--quiet);
  font-size:10px;
  max-width:160px;
  overflow:hidden;
  text-overflow:ellipsis
}
.health-row {
  display:flex;
  gap:13px;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding:18px 0
}
.health-row:last-child {
  border:0
}
.health-symbol {
  height:32px;
  width:32px;
  border-radius:8px;
  display:grid;
  place-items:center;
  background:var(--accent-bg);
  color:var(--positive)
}
.health-symbol.warn {
  background:var(--warn-bg);
  color:var(--warn)
}
.health-row>div:nth-child(2) {
  flex:1
}
.health-row strong {
  font-size:12px;
  font-weight:500
}
.health-row p {
  font-size:10px;
  color:var(--quiet);
  margin:3px 0
}
.health-row>.badge {
  margin-left:auto
}
.pipeline-step {
  display:flex;
  gap:16px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  font-size:11px
}
.pipeline-step time {
  width:59px;
  color:var(--quiet);
  font-variant-numeric:tabular-nums
}
.pipeline-step strong {
  font-weight:500
}
.pipeline-step small {
  display:block;
  color:var(--quiet);
  margin-top:3px;
  font-size:10px
}
.pipeline-step .icon {
  margin-left:auto;
  color:var(--positive);
  width:15px
}
.empty-state {
  text-align:center;
  max-width:540px;
  margin:75px auto;
  padding:35px 24px
}
.empty-state .strategy-glyph {
  margin:0 auto 22px;
  width:55px;
  height:55px
}
.empty-state h2 {
  font-size:23px;
  font-weight:500;
  letter-spacing:-.5px
}
.empty-state p {
  font-size:12px;
  line-height:1.8;
  color:var(--muted);
  margin:16px 0 24px
}
.stop-banner {
  display:flex;
  align-items:center;
  gap:15px;
  background:var(--danger-bg);
  color:var(--negative);
  padding:15px 32px;
  font-size:12px
}
.stop-banner span {
  font-size:10px;
  display:block;
  margin-top:3px
}
.stop-banner .button {
  margin-left:auto
}
.mobile-bottom {
  display:none
}
dialog {
  padding:0;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  color:var(--text);
  width:min(580px,calc(100% - 32px));
  max-height:calc(100dvh - 50px);
  overflow:auto;
  box-shadow:var(--shadow)
}
dialog::backdrop {
  background:#070b11a8;
  backdrop-filter:blur(5px)
}
.modal-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:23px 25px 0;
  gap:15px
}
.modal-head h2 {
  font-size:20px;
  font-weight:550;
  letter-spacing:-.4px;
  margin:0
}
.modal-body {
  padding:18px 25px 25px
}
.modal-body>p {
  font-size:12px;
  color:var(--muted);
  line-height:1.8;
  margin:0 0 18px
}
.modal-foot {
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding:16px 25px;
  border-top:1px solid var(--line);
  background:var(--surface-2)
}
.modal-body .field {
  margin-top:14px
}
.review-note {
  margin:20px 0;
  border-bottom:1px solid var(--line);
  padding-bottom:18px
}
.review-note strong {
  font-size:13px;
  font-weight:550
}
.review-note p {
  font-size:11px;
  color:var(--muted);
  line-height:1.8;
  margin:7px 0
}
.review-note small {
  color:var(--quiet);
  font-size:10px
}
.toast {
  position:fixed;
  bottom:26px;
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100% - 40px);
  padding:13px 20px;
  background:var(--text);
  color:var(--bg);
  border-radius:8px;
  font-size:12px;
  z-index:100;
  box-shadow:var(--shadow)
}
.comparison-key {
  display:flex;
  gap:18px;
  font-size:10px;
  color:var(--muted);
  align-items:center
}
.comparison-key span:before {
  content:"";
  display:inline-block;
  width:14px;
  height:2px;
  background:var(--accent);
  vertical-align:middle;
  margin-right:6px
}
.comparison-key span:last-child:before {
  background:var(--quiet)
}
.performance-curve {
  height:235px
}
.bar-chart {
  display:flex;
  gap:18px;
  align-items:center;
  justify-content:space-around;
  height:135px;
  margin:20px 0 5px;
  border-bottom:1px solid var(--line);
  position:relative
}
.month-bar {
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  gap:7px;
  flex:1;
  max-width:55px
}
.month-bar>span {
  font-size:10px;
  color:var(--muted)
}
.month-bar>div {
  width:100%;
  background:var(--accent);
  opacity:.8;
  border-radius:3px 3px 0 0;
  min-height:3px
}
.month-bar small {
  position:absolute;
  bottom:-24px;
  font-size:10px;
  color:var(--quiet)
}
.library-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px
}
.library-card {
  padding:23px
}
.library-card h2 {
  font-size:16px;
  font-weight:500;
  margin:14px 0 6px
}
.library-card p {
  color:var(--muted);
  font-size:12px;
  line-height:1.7;
  min-height:60px
}
.library-card .actions-row {
  margin-top:22px;
  justify-content:space-between;
  align-items:center
}
.library-card .subtle {
  font-size:10px
}
.review-data-label {
  color:var(--quiet);
  font-size:10px;
  margin-bottom:14px
}
.phone-view .device-stage {
  padding:30px 0 45px;
  background:#252c34;
  min-height:calc(100vh - 44px)
}
.phone-view .app-shell {
  max-width:390px;
  height:min(844px,calc(100dvh - 110px));
  min-height:480px;
  overflow:auto;
  margin:auto;
  border:7px solid #070a0e;
  border-radius:37px;
  box-shadow:0 35px 90px #0008;
  display:block;
  position:relative;
  container-type:inline-size
}
.phone-view .workspace {
  min-height:100%;
  padding-bottom:72px
}
.phone-view .sidebar {
  display:none
}
.phone-view main {
  padding:22px 16px
}
.phone-view .topbar {
  padding:12px 14px;
  gap:7px;
  min-height:63px
}
.phone-view .breadcrumb,.phone-view .top-divider,.phone-view .stop-button span,.phone-view .mode-badge {
  display:none
}
.phone-view .mobile-menu {
  display:grid
}
.phone-view .account-tools {
  flex:1;
  justify-content:space-between;
  gap:5px
}
.phone-view .account-picker select {
  font-size:11px;
  max-width:200px
}
.phone-view .mobile-bottom {
  display:flex;
  position:sticky;
  bottom:0;
  background:var(--nav);
  border-top:1px solid var(--line);
  padding:10px 5px;
  margin-top:-67px;
  justify-content:space-around;
  z-index:15
}
.mobile-bottom a {
  font-size:9px;
  color:var(--quiet);
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:5px;
  padding:3px 9px
}
.mobile-bottom a.active {
  color:var(--accent)
}
.phone-view .page-heading {
  align-items:start;
  margin-bottom:21px
}
.phone-view h1 {
  font-size:24px
}
.phone-view .page-heading p {
  font-size:11px;
  max-width:230px
}
.phone-view .heading-actions .hide-mobile {
  display:none
}
.phone-view .overview-top,.phone-view .review-grid,.phone-view .two-col,.phone-view .library-grid {
  grid-template-columns:1fr
}
.phone-view .equity-panel {
  padding:20px 17px 0
}
.phone-view .equity-head {
  display:block
}
.phone-view .equity-head .segmented {
  width:max-content;
  margin-top:12px
}
.phone-view .big-number {
  font-size:34px
}
.phone-view .equity-metrics {
  gap:8px
}
.phone-view .equity-metrics>div+div {
  padding-left:10px
}
.phone-view .metric-value {
  font-size:15px
}
.phone-view .metric-label {
  font-size:9px
}
.phone-view .attention-panel {
  margin-top:0
}
.phone-view .status-strip {
  flex-wrap:wrap;
  gap:12px;
  padding:15px
}
.phone-view .status-strip>div:last-child {
  display:none
}
.phone-view .strategies-mini {
  grid-template-columns:1fr
}
.phone-view .section-header {
  flex-wrap:wrap
}
.phone-view .section-actions {
  flex-wrap:wrap
}
.phone-view .data-table .secondary-column {
  display:none
}
.phone-view .data-table td,.phone-view .data-table th {
  padding:14px 12px
}
.phone-view .data-table .ticker-tile {
  display:none
}
.phone-view .app-footer {
  padding:0 16px 15px;
  flex-direction:column;
  gap:4px
}
.phone-view .stat-band {
  padding:18px;
  grid-template-columns:repeat(2,1fr);
  gap:20px
}
.phone-view .stat-band>div+div {
  padding-left:0;
  border:0
}
.phone-view .field-grid {
  gap:14px
}
.phone-view .form-panel,.phone-view .strategy-card {
  padding:19px
}
.phone-view .strategy-stats {
  grid-template-columns:repeat(2,1fr)
}
.phone-view .strategy-top {
  flex-wrap:wrap
}
.phone-view .strategy-actions .timestamp {
  margin:6px 0 0;
  flex-basis:100%
}
.phone-view .order-metrics {
  gap:10px
}
.phone-view .order-metrics strong {
  font-size:19px
}
.phone-view .review-list {
  display:flex;
  overflow:auto;
  gap:5px
}
.phone-view .review-list h2 {
  display:none
}
.phone-view .signal-option {
  min-width:245px
}
.phone-view .detail-footer {
  flex-wrap:wrap
}
.phone-view .detail-footer>.actions-row {
  width:100%
}
.phone-view .detail-footer>.actions-row .button {
  flex:1
}
.phone-view .stop-banner {
  padding:14px;
  flex-wrap:wrap
}
.phone-view .tabs {
  gap:18px
}
.phone-view .form-footer {
  flex-wrap:wrap
}
.phone-view .sidebar.open {
  display:flex;
  position:absolute;
  left:0;
  top:63px;
  bottom:0;
  height:auto;
  width:260px;
  z-index:25;
  min-height:700px;
  box-shadow:var(--shadow)
}
@media(min-width:1600px) {
  .overview-top {
    grid-template-columns:minmax(0,1fr) 350px
  }
  .equity-chart {
    height:200px
  }
  .signal-peek {
    padding-top:17px;
    padding-bottom:17px
  }
  .strategy-mini {
    padding:21px 22px
  }
}
@media(max-width:1180px) {
  .preview-sub {
    display:none
  }
  .app-shell {
    grid-template-columns:186px minmax(0,1fr)
  }
  .sidebar {
    padding-left:10px;
    padding-right:10px
  }
  .brand {
    font-size:17px
  }
  .brand-caption {
    font-size:7px
  }
  .topbar {
    padding:14px 23px
  }
  main {
    padding:26px 23px
  }
  .overview-top {
    grid-template-columns:minmax(0,1fr) 280px;
    gap:16px
  }
  .equity-panel {
    padding:20px 20px 0
  }
  .big-number {
    font-size:31px
  }
  .big-number .cents {
    font-size:21px
  }
  .equity-head {
    flex-wrap:wrap
  }
  .equity-chart {
    height:151px
  }
  .review-grid {
    grid-template-columns:260px minmax(0,1fr)
  }
  .data-table td,.data-table th {
    padding-left:13px;
    padding-right:13px
  }
  .strategies-mini {
    gap:10px
  }
  .strategy-mini {
    padding:15px
  }
  .strategy-mini-title {
    font-size:11px
  }
  .status-strip {
    font-size:9px;
    padding:13px
  }
  .account-tools {
    gap:7px
  }
}
@media(max-width:960px) {
  .breadcrumb {
    display:none
  }
  .topbar {
    justify-content:flex-end
  }
  .overview-top {
    grid-template-columns:1fr
  }
  .attention-panel {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .attention-panel .panel-header,.attention-summary,.attention-foot {
    grid-column:1/-1
  }
  .signal-peek {
    border-bottom:1px solid var(--line)
  }
  .signal-peek:nth-of-type(3) {
    display:none
  }
  .attention-summary {
    padding-bottom:14px
  }
  .attention-foot {
    padding-top:14px
  }
  .two-col {
    grid-template-columns:1fr
  }
  .strategy-mini-title {
    flex-wrap:wrap
  }
  .review-grid {
    grid-template-columns:1fr
  }
  .review-list {
    display:flex;
    overflow:auto;
    gap:5px
  }
  .review-list h2 {
    display:none
  }
  .signal-option {
    min-width:235px
  }
  .equity-head {
    flex-wrap:nowrap
  }
  .preview-bar {
    flex-wrap:wrap
  }
  .preview-tools {
    margin-left:auto
  }
  .sidebar {
    height:100vh
  }
  .library-grid {
    grid-template-columns:1fr
  }
}
@media(max-width:700px) {
  .app-shell {
    display:block
  }
  .sidebar {
    display:none
  }
  .mobile-menu {
    display:grid
  }
  .topbar {
    padding:12px 16px;
    justify-content:space-between;
    min-height:62px
  }
  .top-divider,.stop-button span,.mode-badge {
    display:none
  }
  .account-tools {
    flex:1;
    justify-content:space-between
  }
  .account-picker select {
    font-size:11px
  }
  .workspace {
    padding-bottom:70px
  }
  .mobile-bottom {
    display:flex;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:15;
    background:var(--nav);
    border-top:1px solid var(--line);
    padding:9px 5px 12px;
    justify-content:space-around
  }
  .sidebar.open {
    display:flex;
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:255px;
    z-index:25;
    height:100dvh;
    box-shadow:var(--shadow);
    overflow:auto;
    min-height:0
  }
  main {
    padding:22px 16px
  }
  .page-heading {
    align-items:start;
    margin-bottom:21px
  }
  h1 {
    font-size:24px
  }
  .page-heading p {
    font-size:11px
  }
  .heading-actions .hide-mobile {
    display:none
  }
  .equity-panel {
    padding:20px 17px 0
  }
  .equity-head {
    flex-wrap:wrap
  }
  .big-number {
    font-size:34px
  }
  .equity-metrics>div+div {
    padding-left:12px
  }
  .metric-value {
    font-size:16px
  }
  .attention-panel {
    display:flex
  }
  .signal-peek:nth-of-type(3) {
    display:flex
  }
  .status-strip {
    flex-wrap:wrap;
    gap:12px;
    font-size:10px
  }
  .status-strip>div:last-child {
    display:none
  }
  .strategies-mini {
    grid-template-columns:1fr
  }
  .section-header {
    flex-wrap:wrap
  }
  .section-actions {
    flex-wrap:wrap
  }
  .data-table .secondary-column {
    display:none
  }
  .data-table td,.data-table th {
    padding:14px 12px
  }
  .data-table .ticker-tile {
    display:none
  }
  .app-footer {
    padding:0 16px 20px;
    flex-direction:column;
    gap:4px
  }
  .stat-band {
    grid-template-columns:repeat(2,1fr);
    gap:22px;
    padding:20px
  }
  .stat-band>div+div {
    padding-left:0;
    border:0
  }
  .field-grid {
    gap:14px
  }
  .strategy-stats {
    grid-template-columns:repeat(2,1fr)
  }
  .strategy-top {
    flex-wrap:wrap
  }
  .strategy-actions .timestamp {
    margin:6px 0 0;
    flex-basis:100%
  }
  .order-metrics {
    gap:10px
  }
  .order-metrics strong {
    font-size:20px
  }
  .detail-footer {
    flex-wrap:wrap
  }
  .detail-footer>.actions-row {
    width:100%
  }
  .detail-footer>.actions-row .button {
    flex:1
  }
  .stop-banner {
    padding:15px 16px;
    flex-wrap:wrap
  }
  .preview-bar {
    padding:8px 12px
  }
  .preview-tools {
    gap:5px;
    width:100%;
    margin:0
  }
  .preview-tools button,.preview-tools a {
    font-size:10px;
    padding:5px 7px
  }
  .preview-tools #mobile-button {
    display:none
  }
  .tabs {
    gap:18px
  }
  .form-footer {
    flex-wrap:wrap
  }
  .form-panel {
    padding:20px
  }
  .phone-view .device-stage {
    padding:0
  }
  .phone-view .app-shell {
    border:0;
    border-radius:0;
    height:auto
  }
  .table-footer {
    gap:12px;
    flex-wrap:wrap
  }
}
@media(pointer:coarse) {
  .button,.filter-select,.text-button,.icon-button,.preview-tools button,.preview-tools a {
    min-height:44px
  }
  .field input,.field select,.field textarea,.search-input input {
    font-size:16px
  }
  .nav-item {
    min-height:46px
  }
  .tabs button {
    min-height:44px
  }
  .account-picker select {
    font-size:16px;
    max-width:210px
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important
  }
}
@media print {
  .preview-bar,.sidebar,.topbar,.mobile-bottom,.heading-actions,dialog,.toast {
    display:none!important
  }
  .app-shell {
    display:block
  }
  main {
    padding:0
  }
  .panel {
    break-inside:avoid
  }
  .workspace {
    padding:0
  }
  body {
    background:#fff;
    color:#111
  }
}
/* Readable primary data, with secondary columns available in the detail view. */ .data-table {
  font-size:12px
}
.data-table th {
  font-size:10px
}
.asset-cell strong {
  font-size:12px
}
.button {
  font-size:12px
}
.field {
  font-size:12px
}
.field input,.field select,.field textarea {
  font-size:13px
}
.detail-section p {
  font-size:13px
}
.rule-list>div {
  font-size:12px
}
@media(max-width:700px) {
  .data-table .asset-cell small {
    max-width:100px;
    white-space:normal;
    font-size:10px
  }
  .data-table th {
    white-space:normal
  }
  .field input,.field select,.field textarea {
    font-size:16px
  }
}
.phone-view .data-table .asset-cell small {
  max-width:95px;
  white-space:normal;
  font-size:10px
}
.phone-view .data-table th {
  white-space:normal
}
.stop-button {
  min-width:36px;
  min-height:36px
}
.phone-view .stop-button {
  min-width:40px;
  min-height:40px
}
@media(pointer:coarse) {
  .stop-button {
    min-height:44px;
    min-width:44px
  }
}
@media(min-width:701px) and (max-width:960px) {
  .attention-panel {
    display:flex
  }
  .signal-peek:nth-of-type(3) {
    display:flex
  }
  .status-strip {
    flex-wrap:wrap;
    gap:12px 20px
  }
  .brand-caption {
    letter-spacing:.8px;
    white-space:nowrap
  }
}
/* Production shell and compatibility for the complete existing Django editors. */ :root {
  --panel:var(--surface);
  --panel-2:var(--surface-2);
  --border:var(--line);
  --green:var(--positive);
  --red:var(--negative);
  --amber:var(--warn);
  --blue:var(--accent)
}
.app-shell {
  min-height:100vh
}
.sidebar {
  height:100vh;
  overflow-y:auto;
  min-height:0
}
.workspace {
  min-width:0
}
.sidebar-close {
  display:none
}
.appearance-tools {
  display:flex;
  gap:15px;
  padding:10px 8px
}
.appearance-tools .text-button {
  font-size:11px
}
.profile form {
  margin-left:auto
}
.topbar .account-picker select {
  max-width:190px
}
.topbar form {
  margin:0
}
.signed-out {
  display:block
}
.auth-header {
  display:flex;
  justify-content:space-between;
  padding:28px
}
.auth-header .brand {
  margin:0
}
.signed-out main {
  max-width:650px
}
.sidebar nav {
  display:block
}
.nav-item.active {
  font-weight:550
}
.card {
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
  min-width:0
}
.card h3 {
  font-size:13px;
  font-weight:550;
  margin:0 0 16px;
  color:var(--text);
  letter-spacing:0;
  text-transform:none
}
.grid {
  display:grid;
  gap:20px
}
.cols-2 {
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)
}
.kpis {
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:14px
}
.kpi h3 {
  font-size:11px;
  color:var(--muted);
  margin-bottom:8px
}
.kpi .value {
  font-size:26px;
  font-weight:500;
  letter-spacing:-.6px;
  font-variant-numeric:tabular-nums
}
.kpi .sub {
  font-size:11px;
  color:var(--muted);
  margin-top:7px
}
.muted {
  color:var(--muted)
}
.pos {
  color:var(--positive)
}
.neg {
  color:var(--negative)
}
.spacer {
  flex:1
}
.section-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:26px 0 16px;
  flex-wrap:wrap
}
.section-head:first-child {
  margin-top:0
}
.section-head h2 {
  font-size:24px;
  font-weight:550;
  letter-spacing:-.6px;
  margin:0
}
.section-head small {
  display:block;
  margin-top:8px;
  font-size:12px;
  font-weight:400;
  letter-spacing:0;
  color:var(--muted)
}
button,.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid var(--line);
  background:var(--surface-2);
  color:var(--text);
  padding:9px 13px;
  min-height:37px;
  border-radius:7px;
  font-size:12px;
  font-weight:500;
  cursor:pointer;
  text-decoration:none
}
.text-button {
  border:0;
  background:none;
  color:var(--accent);
  padding:4px 0
}
.icon-button {
  padding:0;
  border:0;
  background:none
}
.btn-green,.button.primary {
  background:var(--accent);
  border-color:var(--accent);
  color:var(--accent-ink)
}
.btn-red {
  background:var(--danger-bg);
  color:var(--negative);
  border-color:color-mix(in srgb,var(--negative) 25%,var(--line))
}
.btn-ghost {
  background:transparent
}
.badge.on {
  background:var(--accent-bg);
  color:var(--positive)
}
.badge.off {
  background:var(--surface-3);
  color:var(--muted)
}
.badge.warn {
  background:var(--warn-bg);
  color:var(--warn)
}
.badge.danger {
  background:var(--danger-bg);
  color:var(--negative)
}
.stop-button {
  background:none;
  border:0;
  color:var(--muted);
  padding:6px
}
.stop-button .icon {
  color:var(--negative)
}
.inline {
  display:inline
}
.inline button {
  vertical-align:middle
}
input,select,textarea {
  background:var(--surface-2);
  color:var(--text);
  border:1px solid var(--line);
  padding:9px 11px;
  border-radius:7px;
  min-width:0;
  font-size:13px
}
textarea {
  font-family:inherit
}
input[type=checkbox] {
  accent-color:var(--accent)
}
.field .lbl {
  font-size:12px;
  color:var(--text);
  font-weight:500
}
.field .hlp {
  font-size:11px;
  color:var(--muted)
}
input::placeholder,textarea::placeholder {
  color:var(--quiet)
}
.grid2 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.grid2 input,.grid2 select {
  width:100%
}
.grid2 input[type=checkbox] {
  width:auto
}
.messages .toast,.toast {
  position:static;
  transform:none;
  box-shadow:none;
  max-width:none;
  display:block;
  padding:13px 17px;
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
  font-size:13px;
  margin-bottom:16px
}
.toast.error,.toast.warning {
  border-color:var(--warn);
  color:var(--warn)
}
.toast.success {
  border-color:var(--positive)
}
.empty {
  padding:28px 16px;
  text-align:center;
  color:var(--muted);
  font-size:13px
}
.table-scroll {
  max-width:100%;
  overflow-x:auto
}
table {
  width:100%;
  border-collapse:collapse;
  font-size:12px
}
th {
  font-weight:500;
  color:var(--muted);
  font-size:11px;
  text-align:left;
  white-space:nowrap;
  background:var(--surface-2)
}
th,td {
  padding:var(--row) 14px;
  border-bottom:1px solid var(--line);
  vertical-align:middle
}
tr:last-child td {
  border:0
}
tbody tr:hover>td {
  background:color-mix(in srgb,var(--surface-2) 65%,transparent)
}
.num {
  text-align:right;
  white-space:nowrap;
  font-variant-numeric:tabular-nums
}
.ticker {
  font-weight:550
}
.data-table td,.data-table th {
  padding:var(--row) 16px
}
.table-detail {
  min-width:190px
}
.table-detail summary {
  cursor:pointer;
  color:var(--text);
  font-weight:500;
  list-style:none
}
.table-detail summary:after {
  content:'  ›';
  color:var(--quiet)
}
.table-detail[open] summary:after {
  content:'  ⌄'
}
.position-detail {
  display:grid;
  gap:6px;
  margin:13px 0 3px;
  font-size:11px;
  color:var(--muted);
  white-space:normal
}
.position-detail strong {
  color:var(--text);
  font-weight:500
}
.position-group-head {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  padding:18px 22px;
  border-bottom:1px solid var(--line);
  font-size:12px
}
.position-group-head .badge {
  margin-left:auto
}
.position-group-head>strong {
  font-size:14px;
  font-weight:500
}
.position-allocation {
  padding:12px 22px;
  border-bottom:1px solid var(--line)
}
.position-allocation .allocation-bar {
  margin:7px 0
}
.position-allocation small {
  color:var(--muted);
  font-size:11px
}
.positions-panel {
  margin-bottom:18px
}
.review-list a.signal-option {
  color:var(--text)
}
.signal-detail-header h2 {
  margin:0;
  font-size:22px
}
.signal-detail-header p {
  margin:6px 0 0;
  font-size:12px;
  color:var(--muted)
}
.signal-detail-header {
  flex-wrap:wrap
}
.signal-option-top {
  flex-wrap:wrap
}
.signal-detail .detail-body p {
  font-size:13px;
  line-height:1.7
}
.signal-options {
  max-height:72vh;
  overflow:auto
}
.signal-link {
  color:var(--accent)
}
.read-only-note {
  color:var(--muted);
  font-size:12px
}
.tabs a {
  padding:0 0 12px;
  font-size:13px;
  color:var(--muted);
  border-bottom:2px solid transparent
}
.tabs a.active {
  color:var(--text);
  border-color:var(--accent)
}
.overview-top .equity-panel .chart-wrap {
  height:235px;
  margin-top:24px
}
.equity-metrics {
  gap:10px
}
.signal-peek .peek-info {
  min-width:0
}
.signal-peek .peek-info small {
  font-size:11px;
  white-space:normal
}
.signal-peek strong {
  font-weight:500
}
.data-coverage {
  margin:24px 0 0
}
.data-coverage>summary {
  cursor:pointer;
  display:list-item;
  font-size:14px;
  font-weight:550
}
.data-coverage[open]>summary {
  margin-bottom:18px
}
.review-account {
  margin-top:20px!important;
  font-size:12px!important;
  color:var(--muted)
}
.summary-rows strong {
  overflow-wrap:anywhere;
  text-align:right
}
.table-filter {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap
}
.table-filter input[type=search] {
  width:220px
}
.table-filter label {
  font-size:12px
}
.journal-note {
  white-space:pre-wrap;
  margin-bottom:12px;
  font-size:12px
}
.note-form {
  display:grid;
  gap:10px;
  margin-top:10px
}
.note-form textarea {
  width:100%
}
.note-form button {
  justify-self:start
}
.strategy-list .strategy-actions {
  justify-content:flex-start
}
.strategy-list .strategy-actions a {
  font-size:12px
}
.strategy-stats>div {
  min-width:0
}
.strategy-description {
  overflow-wrap:anywhere
}
.backtest-layout {
  grid-template-columns:minmax(320px,1fr) minmax(0,1.1fr)
}
.research-backtest-layout {grid-template-columns:minmax(0,1fr)}
.backtest-history th,.backtest-history td {
  padding:12px 10px
}
.chart-key {
  display:flex;
  gap:15px;
  font-size:11px;
  color:var(--muted)
}
canvas {
  max-width:100%
}
pre {
  overflow:auto;
  font-size:12px;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
details>summary {
  cursor:pointer
}
form[aria-busy=true] button[type=submit] {
  opacity:.5;
  pointer-events:none
}
.no-js-hint {
  font-size:12px;
  color:var(--muted)
}
html[data-density=compact] {
  --row:10px
}
@media(max-width:1180px) {
  .routing-status {
    display:none
  }
  .cols-2.backtest-layout {
    grid-template-columns:1fr
  }
  .brand-caption {
    font-size:7px;
    letter-spacing:.8px;
    white-space:nowrap
  }
}
@media(max-width:960px) {
  .cols-2,.backtest-layout {
    grid-template-columns:1fr
  }
  .status-strip {
    flex-wrap:wrap
  }
  .overview-top .equity-panel .chart-wrap {
    height:210px
  }
}
@media(max-width:700px) {
  .sidebar.open {
    padding-top:25px;
    overflow:auto;
    height:100dvh
  }
  .sidebar-close {
    display:grid;
    position:absolute;
    right:8px;
    top:8px
  }
  .mobile-bottom .nav-item {
    padding:3px 8px;
    margin:0;
    gap:4px;
    background:none;
    font-size:10px;
    min-height:40px
  }
  .mobile-bottom .nav-item .icon {
    height:19px;
    width:19px
  }
  .topbar .account-picker select {
    max-width:175px;
    font-size:12px
  }
  .mode-badge,.routing-status {
    display:none
  }
  .card {
    padding:18px
  }
  .section-head h2 {
    font-size:22px
  }
  .section-head {
    align-items:flex-start
  }
  .kpis {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .kpi .value {
    font-size:23px
  }
  .panel-header {
    padding:18px 18px 0
  }
  .data-table td,.data-table th {
    padding:13px 10px
  }
  .data-table .table-detail {
    min-width:110px
  }
  .data-table .secondary-column {
    display:none
  }
  .position-group-head {
    padding:16px
  }
  .position-allocation {
    padding:12px 16px
  }
  .overview-top .equity-panel .chart-wrap {
    height:175px
  }
  .equity-metrics {
    grid-template-columns:1fr;
    gap:14px
  }
  .equity-metrics>div+div {
    border:0;
    padding:0
  }
  .metric-value {
    font-size:20px
  }
  .equity-metrics>div {
    display:flex;
    align-items:baseline;
    gap:12px;
    justify-content:space-between
  }
  .review-grid {
    display:block
  }
  .review-list {
    display:block;
    margin-bottom:18px
  }
  .signal-options {
    display:flex;
    max-height:none;
    overflow-x:auto;
    gap:5px
  }
  .signal-option {
    flex:0 0 235px
  }
  .detail-body,.detail-footer {
    padding:18px
  }
  .order-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:18px
  }
  .order-metrics>div:last-child {
    grid-column:1/-1
  }
  .detail-footer {
    flex-wrap:wrap
  }
  .detail-footer form {
    flex:1
  }
  .detail-footer form button {
    width:100%
  }
  .grid2 {
    grid-template-columns:1fr
  }
  .field input,.field select,.field textarea {
    font-size:16px
  }
  .appearance-tools button {
    min-height:44px
  }
  .table-filter {
    width:100%
  }
  .table-filter input[type=search] {
    width:100%;
    flex:1 1 170px
  }
  .table-filter select {
    max-width:100%
  }
  .table-detail[open] {
    min-width:155px
  }
  .stop-banner form {
    margin-left:0
  }
  .signed-out main {
    padding:12px
  }
  .signed-out .workspace {
    padding-bottom:0
  }
  .auth-header {
    padding:20px
  }
  .table-footer {
    font-size:11px
  }
  .strategy-top {
    flex-wrap:wrap
  }
  .strategy-actions form {
    flex:1 0 auto
  }
  .strategy-actions button {
    width:100%
  }
  .form-footer {
    flex-wrap:wrap
  }
}
@media(pointer:coarse) {
  button,.btn,select {
    min-height:44px
  }
  input,select,textarea {
    font-size:16px
  }
}
@media print {
  .sidebar,.topbar,.mobile-bottom,.auth-header,.appearance-tools,dialog {
    display:none!important
  }
  .app-shell {
    display:block
  }
  .workspace {
    padding:0
  }
  .table-scroll {
    overflow:visible
  }
  .data-table .secondary-column {
    display:table-cell
  }
  body {
    background:white;
    color:black
  }
}
.strategy-overview-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:16px
}
.strategy-mini .strategy-top {
  gap:10px
}
.strategy-mini .strategy-top strong {
  font-size:13px
}
.strategy-mini .allocation-bar {
  height:5px;
  margin:18px 0 8px
}
.strategy-mini .allocation-bar span {
  display:block;
  height:100%;
  background:var(--accent);
  max-width:100%
}
.settings-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 285px;
  gap:22px;
  align-items:start
}
.settings-summary {
  position:sticky;
  top:20px
}
.settings-summary h2 {
  font-size:19px;
  font-weight:500;
  margin:8px 0 18px
}
.settings-summary .summary-rows {
  margin:22px 0
}
.strategy-stats {
  margin-top:24px
}
.signal-detail .order-metrics {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.signal-option {
  display:block
}
.signal-option.selected {
  border-left:3px solid var(--accent)
}
.ai-review {
  margin:24px 0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:8px
}
.ai-review h3 {
  margin:0
}
.signal-detail .summary-rows {
  margin-top:24px
}
.settings-layout .form-footer {
  position:sticky;
  bottom:12px;
  background:var(--surface);
  border:1px solid var(--line);
  padding:14px;
  border-radius:10px;
  display:flex;
  gap:12px;
  align-items:center;
  z-index:2
}
.strategy-actions {
  flex-wrap:wrap
}
.status-strip {
  margin:22px 0;
  color:var(--muted)
}
.status-strip strong {
  color:var(--text);
  font-weight:500
}
.signal-peek {
  display:flex;
  justify-content:space-between;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  gap:12px
}
.signal-peek small {
  display:block;
  margin-top:6px;
  color:var(--muted)
}
.signal-peek .badge {
  margin-left:7px
}
.notice {
  line-height:1.7
}
.settings-layout .field input[type=checkbox] {
  height:20px;
  width:20px
}
.journal-details>summary {
  cursor:pointer;
  color:var(--accent);
  font-size:12px;
  padding:5px 0
}
.journal-detail-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:18px 0
}
.journal-detail-grid small {
  display:block;
  color:var(--muted);
  margin-bottom:5px
}
.journal-main td {
  border-bottom:0
}
.journal-extra td {
  padding-top:0
}
.journal-extra {
  background:var(--surface-2)
}
.grid2 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px
}
.adv {
  margin-top:24px
}
.adv>summary {
  padding:10px 0;
  font-weight:500
}
.adv[open]>.grid2 {
  margin-top:16px
}
@media(max-width:1100px) {
  .settings-layout {
    grid-template-columns:minmax(0,1fr) 245px
  }
}
@media(max-width:960px) {
  .settings-layout {
    grid-template-columns:1fr
  }
  .settings-summary {
    position:static;
    grid-row:1
  }
}
@media(max-width:700px) {
  .strategy-overview-grid {
    grid-template-columns:1fr
  }
  .grid2 {
    grid-template-columns:1fr
  }
  .signal-detail .order-metrics {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .order-metrics>div:last-child {
    grid-column:auto
  }
  .journal-detail-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .settings-layout .form-footer {
    bottom:70px
  }
  .strategy-stats {
    row-gap:22px
  }
  .brand-caption {
    font-size:8px;
    letter-spacing:1px
  }
}
.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
}
.settings-layout label.field {
  display:flex;
  flex-direction:column;
  gap:6px
}
.settings-layout .grid2 input,.settings-layout .grid2 select {
  margin:0
}
.strategy-stats .metric-label {
  font-size:11px
}
.kpi .value {
  overflow-wrap:anywhere
}
.table-filter select {
  max-width:310px
}
a.button,button {
  line-height:1.45
}
.app-shell .sidebar {
  scrollbar-width:thin
}
@media(max-width:700px) {
  .topbar {
    padding:10px 14px;
    gap:8px
  }
  .topbar .account-tools {
    min-width:0;
    flex:1;
    justify-content:space-between;
    gap:4px
  }
  .topbar .account-picker {
    min-width:0
  }
  .topbar .account-picker select {
    max-width:155px
  }
  .topbar .account-picker>.icon {
    display:none
  }
  .topbar .stop-button span {
    display:none
  }
  .topbar .stop-button {
    min-width:38px;
    min-height:38px
  }
  .topbar .stop-button .icon {
    width:18px;
    height:18px
  }
  .review-list h2 {
    padding:16px
  }
  .signal-option {
    padding:14px
  }
  .signal-options {
    max-width:100%
  }
  .review-grid {
    min-width:0
  }
  .signal-detail .order-metrics {
    margin:22px 0
  }
  .detail-body p {
    overflow-wrap:anywhere
  }
  .signal-detail-header {
    padding:20px
  }
  .signal-detail .notice {
    display:block
  }
  .signal-detail .notice>.icon {
    display:none
  }
  .signal-detail .summary-rows>div {
    gap:14px
  }
  .table-filter select {
    max-width:100%;
    width:100%
  }
  .kpi .value {
    font-size:22px
  }
  .status-strip {
    gap:12px
  }
  .status-strip>span {
    font-size:11px
  }
  .status-strip .text-button {
    width:100%
  }
  .data-table th,.data-table td {
    font-size:12px
  }
  .signed-out .brand {
    font-size:18px
  }
}
.estimate-explainer {
  font-size:12px;
  color:var(--muted);
  margin-top:15px
}
.estimate-explainer summary {
  color:var(--accent)
}
@media(max-width:700px) {
  .settings-summary h2 {
    font-size:18px;
    margin:6px 0 12px
  }
  .settings-summary .summary-rows {
    margin:12px 0
  }
  .settings-summary .summary-rows>div {
    padding:10px 0
  }
  .page-heading {
    flex-wrap:wrap
  }
  .page-heading .heading-actions {
    width:100%
  }
  .page-heading .table-filter {
    margin-top:8px
  }
}
@media(max-width:700px) {
  .backtest-money-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .backtest-money-grid>div:last-child {
    grid-column:1/-1;
    padding-top:0!important
  }
  .journal-metrics {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px
  }
  .journal-metrics .kpi {
    grid-column:span 2;
    padding:13px
  }
  .journal-metrics .kpi:nth-child(-n+2) {
    grid-column:span 3
  }
  .journal-metrics .kpi h3 {
    font-size:11px;
    min-height:32px;
    margin-bottom:3px
  }
  .journal-metrics .kpi .value {
    font-size:21px
  }
  .journal-metrics .kpi .sub {
    font-size:10px
  }
  .table-scroll {
    scrollbar-width:thin
  }
  .backtest-money-grid input[type=date] {
    min-width:0
  }
}
.parameter-tools {display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:18px 0}
.parameter-tools label {font-size:12px;color:var(--muted)}
.parameter-tools input[type=search] {display:block;margin-top:6px;min-width:230px}
.parameter-group {border-top:1px solid var(--line);padding:16px 0}
.parameter-group>summary {display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none}
.parameter-group>summary:before {content:'›';color:var(--accent);font-size:20px}
.parameter-group[open]>summary:before {content:'⌄'}
.parameter-group>summary strong {margin-right:auto;font-weight:550;font-size:14px}
.parameter-group>summary span {font-size:11px;color:var(--muted)}
.parameter-group .grid2 {margin:20px 0 10px;gap:24px}
.parameter-field {min-width:0}
.parameter-field .field {display:flex;flex-direction:column;gap:6px}
.parameter-default {margin-top:7px;font-size:10px;color:var(--quiet);overflow-wrap:anywhere}
.parameter-default span {color:var(--warn)}
.research-steps {display:flex;gap:26px;padding:15px 0;margin:0 0 22px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);flex-wrap:wrap}
.research-steps strong,.research-steps a {color:var(--accent);font-weight:500}
.data-window-form {display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:16px;align-items:end}
.data-window-form .field {display:flex;flex-direction:column;gap:7px}
.errorlist {color:var(--negative);font-size:12px;grid-column:1/-1}
.data-readiness-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
.data-readiness {padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.data-readiness h3 {font-size:14px;margin-top:0}
.readiness-count {font-size:28px;font-variant-numeric:tabular-nums}
.readiness-count span {font-size:13px;color:var(--muted)}
.data-readiness p {font-size:12px}
.data-job {margin-bottom:16px}
.data-job h3 {margin:0}
@media(max-width:1100px){.data-window-form{grid-template-columns:repeat(2,minmax(0,1fr))}.data-window-form .field:first-of-type{grid-column:1/-1}}
@media(max-width:700px){.data-readiness-grid{grid-template-columns:1fr}.data-window-form{grid-template-columns:1fr}.data-window-form button{width:100%}.parameter-tools{align-items:start;flex-direction:column}.parameter-tools label,.parameter-tools input[type=search]{width:100%}.parameter-group>summary{flex-wrap:wrap}.parameter-group>summary span{width:100%;padding-left:20px}.research-steps{gap:12px;font-size:11px}}

/* Account-owned collaboration and execution controls. */
.account-boundary-note { margin-bottom: 24px; }
.account-controls-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.account-section { margin-top: 24px; }
.account-controls-grid h2, .account-section h2 { font-size: 19px; margin-top: 0; }
.account-controls-grid p, .account-section p { line-height: 1.65; }
.account-controls-grid .timestamp { margin-top: 18px; }
.permission-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 26px 0; }
.permission-grid > div { border-top: 2px solid var(--border); padding-top: 16px; }
.permission-grid h3 { font-size: 15px; margin: 10px 0 6px; }
.permission-grid p { font-size: 13px; color: var(--muted); margin: 0; }
.account-invite-layout { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr); gap: 32px; border-top: 1px solid var(--border); padding-top: 24px; }
.account-form { display: grid; gap: 14px; }
.account-form h3, .account-form p { margin: 0; }
.account-form .field { display: grid; gap: 7px; }
.account-form input:not([type=checkbox]), .account-form select { width: 100%; min-width: 0; box-sizing: border-box; }
.account-form .button { justify-self: start; }
.check-row { display: flex; align-items: start; gap: 12px; margin: 14px 0; cursor: pointer; }
.check-row input[type=checkbox] { flex: 0 0 auto; margin: 3px 0; width: 18px; height: 18px; }
.access-row { display: flex; justify-content: space-between; align-items: start; gap: 16px; border-bottom: 1px solid var(--border); padding: 16px 0; }
.access-row strong { overflow-wrap: anywhere; }
.access-row p { margin: 4px 0; font-size: 12px; }
.access-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: start; }
.access-actions summary { cursor: pointer; font-size: 13px; }
.access-actions .account-form { margin-top: 12px; }
.account-activity { padding-left: 20px; }
.account-activity li { padding: 10px 0; border-bottom: 1px solid var(--border); }
.account-activity p { margin: 0; font-size: 13px; }
.invitation-card { max-width: 620px; margin: 36px auto; }
.invitation-card h1 { overflow-wrap: anywhere; }
.account-pause-banner { padding: 14px 26px; background: var(--panel-2); border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; }
@media (max-width: 1100px) { .permission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .account-invite-layout { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .account-controls-grid { grid-template-columns: 1fr; } .permission-grid { gap: 18px; } .access-row { flex-wrap: wrap; } .account-pause-banner { padding: 14px 18px; } }

.account-boundary-note { display: flex; align-items: flex-start; gap: 12px; }
.account-boundary-note > svg { flex: 0 0 auto; }
.account-controls-grid .timestamp, .account-section .timestamp { color: var(--muted); font-size: 12px; }

/* Guided account setup: choices first, exact permissions before commitment. */
.setup-shell { max-width:1160px; margin:0 auto; padding:14px 0 30px; }
.setup-reading { max-width:880px; }
.setup-intro { max-width:770px; margin:14px 0 32px; }
.setup-intro h1 { font-size:clamp(27px,3vw,39px); line-height:1.17; letter-spacing:-1.2px; margin:12px 0 16px; overflow-wrap:anywhere; }
.setup-intro p { font-size:16px; line-height:1.65; color:var(--muted); max-width:660px; }
.setup-paths { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.setup-path { display:flex; flex-direction:column; padding:26px; color:var(--text); border-top:3px solid var(--accent); transition:background .15s,border-color .15s; }
.setup-path:hover { background:var(--surface-2); border-color:var(--accent); text-decoration:none; }
.setup-icon { display:inline-flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:12px; background:var(--accent-bg); color:var(--accent); margin-bottom:26px; flex-shrink:0; }
.setup-icon .icon { width:23px; height:23px; }
.setup-path .eyebrow { font-size:9px; letter-spacing:1.05px; }
.setup-path h2 { font-size:23px; line-height:1.25; letter-spacing:-.5px; margin:14px 0 12px; }
.setup-path p { color:var(--muted); margin:0 0 28px; line-height:1.7; }
.setup-path-bottom { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.setup-path-bottom .badge { white-space:normal; }
.setup-principle { display:flex; gap:16px; color:var(--muted); padding:26px 0; max-width:800px; }
.setup-principle > .icon { color:var(--accent); flex-shrink:0; margin-top:2px; }
.setup-principle strong { color:var(--text); font-weight:550; }
.setup-principle p { margin:5px 0 0; line-height:1.7; }
.setup-steps { display:flex; flex-wrap:wrap; gap:8px 12px; font-size:12px; color:var(--muted); margin-bottom:28px; }
.setup-steps strong { color:var(--accent); font-weight:500; }
.setup-steps a { text-decoration:underline; text-underline-offset:3px; }
.setup-section { margin:26px 0; }
.setup-account-list { display:grid; gap:12px; }
.setup-account-choice,.setup-account-context { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px; color:var(--text); }
.setup-account-choice:hover { border-color:var(--accent); text-decoration:none; background:var(--surface-2); }
.setup-account-choice > div { min-width:0; }
.setup-account-label h2 { font-size:21px; margin:12px 0 5px; overflow-wrap:anywhere; }
.setup-account-label p { margin:0; overflow-wrap:anywhere; }
.setup-account-label .badge { margin:0 6px 0 0; }
.setup-account-choice .text-button { flex-shrink:0; }
.setup-connect { margin:28px 0 0; }
.setup-connect > summary { cursor:pointer; display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:22px 24px; font-weight:550; }
.setup-connect > summary .subtle { margin-left:auto; font-weight:400; }
.setup-split { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:24px; align-items:start; }
.setup-connect .setup-split { padding:8px 24px 24px; }
.setup-split > * { min-width:0; }
.setup-aside { background:var(--surface-2); padding:24px; border-radius:8px; color:var(--muted); }
.setup-aside .setup-icon { margin-bottom:8px; }
.setup-aside h2 { color:var(--text); }
.setup-aside ol { padding-left:20px; }
.setup-aside li { margin:14px 0; }
.setup-permissions { margin-top:24px; border-top:1px solid var(--line); padding-top:22px; }
.setup-permissions h2 { font-size:19px; }
.setup-permission-columns { display:grid; gap:20px; }
.setup-permission-columns h3 { font-size:12px; color:var(--accent); text-transform:uppercase; letter-spacing:.8px; margin:8px 0; }
.setup-permission-columns > div + div h3 { color:var(--warn); }
.setup-permission-columns ul { padding-left:20px; margin:8px 0 0; color:var(--muted); }
.setup-permission-columns li { padding-left:3px; margin:9px 0; }
.setup-reading .setup-permission-columns { grid-template-columns:1.1fr 1fr; }
.setup-permissions .notice { margin-top:20px; color:var(--warn); background:var(--warn-bg); padding:14px; border-radius:8px; }
.setup-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.setup-actions .button { min-height:44px; }
.setup-empty { text-align:left; max-width:760px; }
.setup-empty p { color:var(--muted); line-height:1.75; max-width:650px; }
.setup-empty .setup-icon { margin-bottom:10px; }
.setup-empty .button { margin:10px 8px 0 0; }
.setup-footnote { color:var(--muted); margin-top:24px; }
.setup-email { max-width:480px; margin:28px 0; }
.setup-email label { display:block; font-weight:550; margin-bottom:8px; }
.setup-email input,.setup-link { width:100%; min-height:44px; }
.setup-role-fieldset { padding:0; margin:0; border:0; }
.setup-role-fieldset legend { font-weight:550; margin-bottom:12px; }
.setup-role-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.setup-role-option { display:block; cursor:pointer; padding:22px; }
.setup-role-option:has(input:checked) { border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); background:var(--accent-bg); }
.setup-role-heading { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.setup-role-heading strong { font-size:18px; }
.setup-role-heading input { width:18px; height:18px; margin:0; accent-color:var(--accent); }
.setup-role-option > span:nth-child(2) { color:var(--muted); line-height:1.6; display:block; }
.setup-role-option ul { padding-left:18px; color:var(--muted); font-size:13px; margin-bottom:0; }
.setup-role-option li { margin:10px 0; }
.setup-next ol { padding-left:22px; }
.setup-next li { padding-left:5px; margin:24px 0; }
.setup-next li::marker { color:var(--accent); }
.setup-next p { color:var(--muted); line-height:1.65; }
.setup-next hr { border:0; border-top:1px solid var(--line); margin:26px 0; }
.setup-state { margin-top:20px; padding:16px; background:var(--surface-2); border-radius:8px; display:grid; gap:12px; color:var(--muted); font-size:12px; }
.setup-state strong { display:block; font-size:14px; color:var(--text); font-weight:500; margin-top:3px; }
.setup-link { margin-top:10px; }
.setup-launch { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px 24px; margin-bottom:22px; }
.setup-launch p { color:var(--muted); margin:5px 0 0; }
.setup-launch .button { flex-shrink:0; }
@media(max-width:1100px) {
  .setup-path { padding:20px; }
  .setup-path h2 { font-size:21px; }
  .setup-role-option { padding:16px; }
}
@media(max-width:800px) {
  .setup-paths,.setup-role-options,.setup-split,.setup-reading .setup-permission-columns { grid-template-columns:1fr; }
  .setup-path h2 { font-size:24px; }
  .setup-path .setup-icon { margin-bottom:18px; }
  .setup-account-choice,.setup-account-context,.setup-launch { align-items:flex-start; flex-direction:column; gap:18px; }
  .setup-intro h1 { letter-spacing:-.7px; }
  .setup-connect > summary .subtle { width:100%; margin-left:28px; }
  .setup-steps { font-size:11px; }
  .setup-role-option { padding:22px; }
  .setup-connect .setup-split { padding:0 18px 18px; }
}

/* Built-in strategy rules beside the complete parameter editor. */
.strategy-guide{border-top:1px solid var(--border);margin:18px 0 0;padding-top:14px}
.strategy-guide>summary{cursor:pointer;font-weight:650;line-height:1.6}
.strategy-guide>summary .subtle{display:block;font-size:.82rem;font-weight:400;margin-left:16px}
.strategy-guide>summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.strategy-guide-body{padding-top:16px}
.guide-tuning{font-size:.9rem;line-height:1.65;max-width:850px}
.strategy-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;margin:22px 0}
.strategy-rule-grid dt{font-weight:650;display:flex;align-items:center;gap:10px;margin-bottom:8px}
.strategy-rule-grid dt span{color:var(--muted);font-size:.75rem;font-variant-numeric:tabular-nums}
.strategy-rule-grid dd{margin:0;color:var(--muted);font-size:.88rem;line-height:1.7}
.guide-boundary{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--panel-2);font-size:.86rem;line-height:1.65}
.guide-boundary p{margin:4px 0 12px;color:var(--muted)}
.guide-boundary p:last-child{margin-bottom:0}
.strategy-explainer{margin-bottom:20px}
.strategy-explainer .strategy-guide{margin-top:0;border:0;padding-top:0}
@media(max-width:650px){.strategy-rule-grid{grid-template-columns:1fr;gap:18px}.strategy-guide>summary .subtle{margin-left:0}}
