/* TITAIB workspace bridge. Canonical palette and type live in tokens.css. */
:root,
:root[data-theme="dark"],
:root[data-theme="light"] {
  --color-bg:var(--ui-canvas);
  --color-bg-raised:var(--ui-canvas-raised);
  --color-surface:var(--ui-surface);
  --color-surface-raised:var(--ui-surface-raised);
  --color-surface-hover:var(--ui-surface-hover);
  --color-surface-deep:var(--ui-canvas-raised);
  --color-surface-deeper:var(--ui-canvas);
  --color-surface-faint:color-mix(in srgb,var(--ui-text) 2%,transparent);
  --color-surface-soft:color-mix(in srgb,var(--ui-text) 4%,transparent);
  --color-surface-subtle:color-mix(in srgb,var(--ui-text) 3%,transparent);
  --color-surface-chip:color-mix(in srgb,var(--ui-text) 6%,transparent);
  --color-highlight-soft:color-mix(in srgb,var(--ui-text) 4%,transparent);
  --color-border:var(--ui-border);
  --color-border-soft:var(--ui-border);
  --color-border-strong:var(--ui-border-strong);
  --color-text:var(--ui-text);
  --color-text-soft:var(--ui-text-soft);
  --color-text-muted:var(--ui-text-dim);
  --color-text-faint:var(--ui-text-muted);
  --color-accent:var(--ui-accent);
  --color-accent-hover:var(--ui-accent-hover);
  --color-accent-soft:var(--accent-soft);
  --color-accent-cyan:var(--ui-accent);
  --color-accent-violet:var(--ui-text-soft);
  --color-success:var(--ui-success);
  --color-warning:var(--ui-warning);
  --color-danger:var(--ui-danger);
  --radius-page:10px;
  --radius-card:8px;
  --radius-control:5px;
  --radius-chip:5px;
}

body {background:var(--bg); color:var(--ink); font-family:var(--sans)}
.wrap {width:min(1440px,calc(100% - 40px))}

/* One clear edge for navigation, with surface changes reserved for work areas. */
header {
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.brand-block {align-items:center; gap:10px}
.brand-mark {width:24px; height:24px; flex:none; color:var(--accent)}
.logo {font:750 19px/1 var(--sans); letter-spacing:-.035em; color:var(--ink)}
.logo span:empty {display:none}
.tagline {color:var(--ink-muted); font-family:var(--sans)}
.workspace-theme-toggle {border-color:var(--line); border-radius:var(--radius-sm)}
.timeframe-switcher {border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--bg-soft)}
.timeframe-btn.active {
  color:var(--accent);
  border-color:var(--line-strong);
  background:var(--panel-2);
  box-shadow:none;
}
.main-tabs {border:1px solid var(--line); border-radius:var(--radius-md); background:var(--bg-soft)}
.main-tabs .tab-btn.active,
.main-tabs .tab-btn[data-main-tab="ai"].active {
  color:var(--ink);
  background:var(--panel-2);
  box-shadow:inset 0 -1px var(--accent);
}
.section-tabs .tab-btn.active {color:var(--ink); background:var(--panel-2); box-shadow:inset 1px 0 var(--accent)}
.tab-btn.active {color:var(--ink); border-color:var(--line-strong); background:var(--panel-2); box-shadow:inset 0 -1px var(--accent)}
.global-engine-row {padding:0; border:0; background:transparent}

/* A calm canvas, one raised work surface, and dividers for repeated data. */
.panel,
.strategy-composer-workspace,
.results-section {
  border-color:var(--line);
  border-radius:var(--radius-md);
  background:var(--panel);
  box-shadow:none;
}
.strategy-composer-workspace,
.ai-page,
.profile-page {background-image:none}
.strategy-composer-workspace > .panel {border:0; border-radius:0; background:transparent}
.strategy-composer-workspace [data-research-panel="launch"] > #launchPanel {
  padding:var(--space-6) 0 0;
  margin:var(--space-6) 0 0;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.launch-empty {align-items:flex-start; text-align:left; padding:4px 0 var(--space-4)}
.launch-empty-actions {justify-content:flex-start}
.results-toolbar,
.section-searchbar,
.strat-bulk {
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.results-section .job {border-bottom-color:var(--line)}
.result-metric-grid {border-block-color:var(--line); gap:var(--space-4)}
.result-metric span {color:var(--ink-dim); font-size:12px}
.result-metric strong {color:var(--ink); font-variant-numeric:tabular-nums}
.result-verdict-label {font-size:11px; color:var(--ink-dim)}
.result-verdict strong {font-size:19px}

#launchPanel .launch-strategy,
:root[data-theme="light"] #launchPanel .launch-strategy {
  border-color:var(--line);
  border-radius:var(--radius-md);
  background:var(--bg-soft);
  box-shadow:none;
}
#launchPanel .launch-param-workspace > *,
:root[data-theme="light"] #launchPanel .launch-param-workspace > * {
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
#launchPanel .launch-param-workspace > * + * {padding-left:var(--space-4); border-left:1px solid var(--line)}
#launchPanel .launch-mode-switch label:has(input:checked) {
  color:var(--accent);
  border-color:var(--line-strong);
  background:var(--accent-soft);
  box-shadow:none;
}
#launchPanel .launch-param,
#launchPanel .launch-single-param,
#launchPanel .param-source-item {
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
#launchPanel .launch-param:has(.launch-param-check:checked),
#launchPanel .launch-single-param:has(.launch-single-param-radio:checked) {
  border-color:var(--accent);
  background:var(--accent-soft);
}
#launchPanel .launch-param:hover,
#launchPanel .launch-single-param:hover {background:var(--color-surface-soft)}
.launch-generation-state {
  border-color:var(--line-strong);
  background:var(--panel);
}
.launch-generation-spinner span {background:var(--accent)}
.launch-strategy-generation-error .launch-generation-state {
  border-color:var(--bad);
  background:var(--bad-bg);
}

.pset,
.runrow,
:is(#strategiesBox,#favoriteStrategiesRecentBox,#favoriteStrategiesHubBox) .strat-inline {
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
}
.badge,
.coin-mini,
.job-meta-chip,
.job-param-set-pill,
.coin-chip,
.p-chip,
.param-source-chip {border-radius:var(--radius-chip)}
.badge {font-size:11px; letter-spacing:.02em}
.b-running,.b-done {border-color:var(--line-strong); animation:none}
.b-failed {border-color:var(--bad)}
.job-error,
.v-APPROVED,
.v-BORDERLINE,
.v-REJECTED,
.v-NO_PROFITABLE_PARAMS,
.verdict.v-NO_PROFITABLE_PARAMS {border-left-width:1px}

/* Bright color belongs to action, selection and outcome; routine controls stay quiet. */
button:not(.ghost):not(.tab-btn):not(.timeframe-btn):not(:disabled) {box-shadow:none}
button:not(.ghost):not(.tab-btn):not(.timeframe-btn):hover {box-shadow:none}
.ai-launcher,
.ai-launcher:hover {
  color:var(--ink);
  border:1px solid var(--line-strong);
  border-radius:var(--radius-md);
  background:var(--panel-2);
  box-shadow:0 10px 28px #00000030;
  transform:none;
}
.ai-launcher svg {color:var(--accent)}
button {border-radius:var(--radius-control); font-family:var(--sans)}
button.ghost {color:var(--ink-soft); border-color:var(--line); background:transparent}
button.ghost:hover {color:var(--ink); border-color:var(--line-strong); background:var(--panel-2)}
button:disabled {opacity:.48}
input,textarea,select {color:var(--ink); border-color:var(--line); border-radius:var(--radius-control); background:var(--bg-soft)}
input::placeholder,textarea::placeholder {color:var(--ink-muted)}
input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible,summary:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-color:var(--line-strong);
  box-shadow:none;
}
input[type=checkbox],input[type=radio] {accent-color:var(--accent)}
select {background-image:none; appearance:auto}
.console-out,.ptable,code,pre {font-variant-numeric:tabular-nums}

@media(max-width:900px) {
  .wrap {width:min(100% - 28px,1440px)}
  .tagline {display:none}
  #launchPanel .launch-param-workspace {grid-template-columns:minmax(0,1fr)}
  #launchPanel .launch-param-workspace > * + * {
    padding:var(--space-4) 0 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
}
@media(max-width:620px) {
  .wrap {width:min(100% - 20px,1440px)}
  .ai-launcher {width:44px; min-height:44px; padding:10px; justify-content:center}
  .ai-launcher span {display:none}
}
