:root {
  color-scheme:dark;
  --bg:#0f1316;
  --sidebar:#0c1012;
  --panel:#151a1d;
  --panel-raised:#1b2125;
  --panel-hover:#1d2427;
  --input:#111619;
  --border:#293034;
  --border-soft:#232a2e;
  --text:#eaf0eb;
  --muted:#8a969b;
  --subtle:#56636a;
  --accent:#c4ec81;
  --accent-soft:#c4ec8112;
  --chart-up:#93c8a5;
  --chart-down:#b88088;
  --red:#ec959b;
  --amber:#dcbc85;
  --lavender:#b2a3df;
  --grid:#2b3337;
  --radius:13px;
  --font:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
  --line:var(--border);
  --text-muted:var(--muted);
  --surface-2:var(--panel-raised);
  --purple:var(--lavender)
}

.capsule-action{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--text-muted);font-size:12px}.capsule-panel{margin-top:16px}.capsule-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.capsule-card{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--surface-2)}.capsule-card-top,.capsule-card-actions{display:flex;align-items:center;gap:10px}.capsule-card-top{justify-content:space-between}.capsule-card h3{margin:10px 0 6px}.capsule-card p{min-height:42px;color:var(--text-muted);font-size:13px;line-height:1.5}.capsule-card small{display:block;color:var(--text-muted)}.capsule-card-actions{margin-top:14px}.capsule-card-actions .icon-btn{margin-left:auto}.capsule-freeze-summary{display:grid;gap:5px;border:1px solid var(--line);border-radius:10px;padding:14px;background:var(--surface-2);margin-bottom:16px}.capsule-freeze-summary span{color:var(--text-muted);font-size:13px}.capsule-freeze-summary code{font-size:11px;color:var(--purple)}.capsule-detail-heading{display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.capsule-detail-heading h3{margin:5px 0}.capsule-detail-heading p{margin:0;color:var(--text-muted)}.capsule-detail-heading code{color:var(--purple)}
.capsule-holdout{border:1px solid color-mix(in srgb,var(--purple) 35%,var(--line));border-radius:12px;padding:15px;margin-top:18px;background:color-mix(in srgb,var(--purple) 7%,var(--surface-2))}.capsule-holdout p{color:var(--text-muted);line-height:1.55;margin:8px 0 12px}.capsule-holdout .detail-grid{margin:12px 0}.capsule-holdout .notice{margin-top:12px}
* {
  box-sizing:border-box
}
html,body {
  margin:0;
  min-height:100%;
  background:var(--bg)
}
body {
  font-family:var(--font);
  font-size:13px;
  line-height:1.5;
  color:var(--text);
  -webkit-font-smoothing:antialiased
}
button,input,select,textarea {
  font:inherit
}
button {
  color:inherit;
  cursor:pointer;
  transition:background .16s,border-color .16s,color .16s,transform .16s
}
button:disabled {
  opacity:.45;
  cursor:not-allowed
}
button,a,input,select,textarea {
  outline-offset:4px
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid var(--accent)
}
a {
  color:inherit;
  text-decoration:none
}
h1,h2,h3,p {
  margin:0
}
button svg {
  flex-shrink:0
}
h1 {
  font-size:33px;
  font-weight:550;
  letter-spacing:-1.3px;
  line-height:1.25
}
h2 {
  font-size:15px;
  font-weight:560;
  letter-spacing:-.22px
}
h3 {
  font-size:14px;
  font-weight:560
}
p {
  color:var(--muted)
}
svg {
  display:block
}
input,select,textarea {
  color:var(--text);
  background:var(--input);
  border:1px solid var(--border);
  border-radius:7px;
  min-width:0
}
input::placeholder,textarea::placeholder {
  color:#637078
}
input[type=checkbox] {
  accent-color:var(--accent)
}
input[type=range] {
  accent-color:var(--accent);
  width:100%;
  cursor:pointer
}
textarea {
  resize:vertical;
  padding:11px;
  line-height:1.6
}
select {
  appearance:none;
  cursor:pointer;
  padding-right:28px!important
}
option {
  background:var(--panel)
}
small {
  font-size:11px
}
code,.mono {
  font-family:var(--mono);
  font-size:12px;
  font-variant-numeric:tabular-nums
}
code {
  color:var(--lavender)
}
.icon {
  display:inline-block;
  vertical-align:middle;
  flex-shrink:0
}
.positive {
  color:var(--accent)!important
}
.negative {
  color:var(--red)!important
}
.muted {
  color:var(--muted)!important
}
.hidden {
  display:none!important
}
.full {
  width:100%
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--border);
  background:#1a2023;
  border-radius:7px;
  padding:10px 15px;
  font-weight:510;
  font-size:12px;
  white-space:nowrap;
  min-height:38px
}
.btn:hover:not(:disabled) {
  background:#252d31;
  border-color:#424d53
}
.btn.primary {
  background:var(--accent);
  border-color:var(--accent);
  color:#1c2818
}
.btn.primary:hover:not(:disabled) {
  background:#d3f69d;
  border-color:#d3f69d
}
.btn.small {
  min-height:32px;
  padding:7px 11px;
  font-size:11px;
  gap:6px
}
.btn.danger {
  color:var(--red);
  border-color:#664449;
  background:#2d1e23
}
.btn.long {
  background:#a2d59212;
  color:var(--accent);
  border-color:#5b765d
}
.btn.short {
  background:#c9778312;
  color:var(--red);
  border-color:#725259
}
.icon-btn {
  width:31px;
  height:31px;
  padding:5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:1px solid transparent;
  border-radius:6px;
  color:var(--muted)
}
.icon-btn:hover {
  background:var(--panel-hover);
  border-color:var(--border);
  color:var(--text)
}
.text-button {
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:0;
  background:transparent;
  padding:0;
  color:var(--muted);
  font-size:11px;
  white-space:nowrap
}
.text-button:hover {
  color:var(--accent)
}
.tag {
  display:inline-flex;
  align-items:center;
  gap:5px;
  border-radius:5px;
  background:#89959910;
  color:#a0aab0;
  border:1px solid #89959915;
  padding:3px 7px;
  font-size:10px;
  line-height:1.25;
  font-weight:500;
  white-space:nowrap
}
.tag.green {
  color:var(--accent);
  background:#bbdd8110;
  border-color:#bbdd8120
}
.tag.purple {
  color:var(--lavender);
  background:#b2a3df10;
  border-color:#b2a3df20
}
.tag.amber {
  color:var(--amber);
  background:#dcbc8510;
  border-color:#dcbc8520
}
.tag.red {
  color:var(--red);
  background:#ec959b10;
  border-color:#ec959b20
}
.eyebrow {
  font-size:9px;
  letter-spacing:1.8px;
  font-weight:600;
  color:var(--muted);
  margin-bottom:10px
}
.eyebrow-dot {
  margin:0 7px;
  color:var(--subtle)
}
.panel {
  background:var(--panel);
  border:1px solid var(--border-soft);
  border-radius:var(--radius);
  overflow:hidden;
  min-width:0
}
.panel-heading {
  padding:20px 22px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px
}
.panel-heading h2 {
  display:flex;
  align-items:center;
  gap:9px
}
.panel-heading p {
  font-size:11px;
  margin-top:5px
}
.app-shell {
  display:flex;
  min-height:100vh
}
.sidebar {
  width:228px;
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  z-index:25;
  background:var(--sidebar);
  border-right:1px solid var(--border-soft);
  padding:28px 16px 0;
  display:flex;
  flex-direction:column
}
.brand {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:23px;
  font-weight:640;
  letter-spacing:-1px;
  margin-left:8px;
  margin-bottom:32px
}
.brand-mark {
  color:var(--accent)
}
.brand-dot {
  color:var(--accent)
}
.workspace-switch {
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  padding:11px;
  background:#141a1d;
  border:1px solid var(--border-soft);
  border-radius:8px;
  width:100%;
  font-size:11px;
  margin-bottom:30px
}
.workspace-switch>span:nth-child(2) {
  flex:1;
  white-space:nowrap
}
.workspace-switch small {
  display:block;
  letter-spacing:1.1px;
  font-size:7px;
  color:var(--muted);
  margin-top:4px
}
.workspace-avatar {
  background:#343d2f;
  color:#d3dfc8;
  font-size:12px;
  padding:5px 8px;
  border-radius:5px
}
.nav-label {
  font-size:9px;
  letter-spacing:1.3px;
  color:#69767b;
  margin:0 12px 12px
}
.tools-label {
  margin-top:32px
}
.nav-item {
  height:43px;
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid transparent;
  background:transparent;
  padding:10px 12px;
  border-radius:7px;
  color:#98a2a7;
  text-align:left;
  margin-bottom:5px;
  font-size:12px
}
.nav-item:hover {
  background:#171e21;
  color:var(--text)
}
.nav-item.active {
  color:var(--accent);
  background:linear-gradient(100deg,#c4ec8116,#c4ec8108);
  border-color:#c4ec811b
}
.nav-item>span:nth-child(2) {
  flex:1
}
.nav-count {
  font-family:var(--mono);
  font-size:9px;
  background:#ffffff0a;
  padding:1px 5px;
  border-radius:4px;
  color:#8e9e87
}
.nav-shortcut {
  font-size:9px;
  color:#657278
}
.sidebar-bottom {
  margin-top:auto;
  padding-top:30px
}
.sidebar-note {
  padding:14px 12px;
  background:linear-gradient(160deg,#1b2322,#101718);
  border:1px solid #2a3430;
  border-radius:9px;
  margin:0 2px 22px
}
.sidebar-note-icon {
  color:#c5d5b8;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px
}
.sidebar-note p {
  font-size:10px;
  line-height:1.8;
  color:#7f8c88;
  margin:10px 0 14px
}
.sidebar-note button {
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  background:none;
  padding:0;
  font-size:9px;
  color:#afc297
}
.profile {
  display:flex;
  align-items:center;
  gap:10px;
  background:transparent;
  border:0;
  border-top:1px solid var(--border-soft);
  text-align:left;
  width:100%;
  padding:20px 5px
}
.avatar {
  display:grid;
  place-items:center;
  background:linear-gradient(140deg,#b0bea0,#6d806d);
  color:#18221b;
  border:1px solid #c4d3b75c;
  font-size:14px;
  width:32px;
  height:32px;
  border-radius:50%;
  font-weight:600
}
.profile>span:nth-child(2) {
  flex:1;
  font-size:11px
}
.profile small {
  font-size:9px;
  color:var(--muted);
  display:block;
  margin-top:3px
}
.profile>.icon {
  color:var(--muted)
}
.main-shell {
  margin-left:228px;
  width:calc(100% - 228px);
  min-width:0
}
.topbar {
  height:69px;
  border-bottom:1px solid var(--border-soft);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 32px;
  gap:15px;
  position:sticky;
  top:0;
  background:#0f1316f5;
  backdrop-filter:blur(12px);
  z-index:20
}
.topbar-left,.topbar-right {
  display:flex;
  align-items:center;
  gap:14px
}
.topbar-left {
  font-size:10px;
  white-space:nowrap
}
.topbar-left strong {
  font-weight:500
}
.breadcrumb {
  color:var(--muted)
}
.topbar-left>.icon {
  color:var(--subtle)
}
.topbar-right {
  gap:18px
}
.top-search {
  color:#8b969d;
  display:flex;
  align-items:center;
  gap:8px;
  border:0;
  background:none;
  font-size:10px;
  padding:5px 0
}
.top-search kbd {
  border:1px solid var(--border);
  padding:2px 5px;
  font-size:9px;
  border-radius:4px;
  margin-left:14px;
  color:var(--subtle);
  font-family:inherit
}
.mode-select {
  display:flex;
  align-items:center;
  gap:7px;
  border-left:1px solid var(--border-soft);
  padding-left:18px
}
.mode-label {
  font-size:8px;
  letter-spacing:1px;
  color:var(--subtle)
}
.mode-select select {
  border:0;
  background:transparent;
  font-size:10px;
  padding:4px 12px 4px 4px!important;
  outline-offset:1px
}
.mode-select>.icon {
  margin-left:-15px;
  pointer-events:none;
  color:var(--muted)
}
.environment {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px;
  color:var(--muted);
  white-space:nowrap
}
.environment i,.status-dot {
  display:inline-block;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 8px #c4ec8120;
  flex-shrink:0
}
.notification-btn {
  position:relative
}
.notification-dot {
  position:absolute;
  width:4px;
  height:4px;
  background:var(--accent);
  border-radius:50%;
  top:5px;
  right:6px
}
.small-avatar {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  border-radius:50%;
  font-size:10px;
  background:#3b4636;
  color:#d8e5ce;
  border:1px solid #5c6954
}
.main-content {
  max-width:1760px;
  margin:0 auto;
  padding:31px 32px 16px;
  outline:none
}
.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px
}
.page-heading p {
  font-size:11px;
  letter-spacing:.1px;
  margin-top:10px;
  color:#8e9a9f
}
.page-actions {
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:20px
}
.market-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px
}
.market-card {
  background:var(--panel);
  border:1px solid var(--border-soft);
  border-radius:10px;
  padding:17px 18px 16px;
  text-align:left;
  min-width:0
}
.market-card:hover {
  background:#1b2225;
  border-color:#475346
}
.market-card.selected {
  border-color:#657650;
  background:linear-gradient(115deg,#252d2070,#161d18a0)
}
.market-card-top {
  display:flex;
  align-items:center;
  gap:9px
}
.coin {
  height:29px;
  width:29px;
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:var(--coin-color);
  background:color-mix(in srgb,var(--coin-color) 10%,transparent);
  border:1px solid color-mix(in srgb,var(--coin-color) 12%,transparent);
  font-size:19px;
  line-height:1;
  font-weight:600
}
.coin.small {
  width:27px;
  height:27px;
  font-size:17px
}
.market-card-top strong {
  font-size:11px;
  font-weight:550;
  white-space:nowrap
}
.market-card-top strong>span {
  font-size:10px;
  color:var(--muted);
  font-weight:400
}
.market-label {
  margin-left:auto;
  font-size:8px;
  letter-spacing:.8px;
  color:var(--subtle)
}
.market-card-bottom {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  margin-top:17px;
  gap:4px
}
.market-price {
  font-size:23px;
  font-weight:520;
  letter-spacing:-.6px;
  line-height:1;
  white-space:nowrap
}
.market-change {
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:9px;
  font-family:var(--mono);
  font-size:10px;
  white-space:nowrap
}
.market-change small {
  color:var(--subtle);
  font-family:var(--font);
  font-size:9px;
  margin-left:4px
}
.market-card .sparkline {
  max-width:42%;
  margin-bottom:4px;
  flex-shrink:1
}
.dashboard-grid {
  display:grid;
  grid-template-columns:minmax(0,2.2fr) minmax(290px,1fr);
  gap:20px
}
.overview-panel {
  min-width:0
}
.market-chart-heading {
  padding-bottom:12px
}
.chart-market {
  display:flex;
  align-items:center;
  gap:11px
}
.chart-market>.coin {
  width:33px;
  height:33px;
  font-size:21px
}
.chart-market h2 {
  font-size:13px
}
.chart-market p {
  font-size:9px;
  margin-top:3px
}
.subtle-pill {
  font-size:7px;
  letter-spacing:.5px;
  padding:3px 5px;
  background:#ffffff07;
  color:var(--subtle);
  border-radius:3px;
  margin-left:5px
}
.chart-topline {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px 12px
}
.chart-price {
  font-size:22px;
  font-weight:500;
  letter-spacing:-.5px
}
.chart-price>span {
  font-size:10px;
  font-family:var(--mono);
  font-weight:400;
  letter-spacing:0;
  margin-left:6px
}
.segmented {
  display:inline-flex;
  padding:3px;
  background:#101619;
  border:1px solid #293034;
  border-radius:6px;
  gap:2px
}
.segmented button {
  background:none;
  border:0;
  color:var(--muted);
  padding:4px 8px;
  font-size:9px;
  border-radius:4px
}
.segmented button.active {
  background:#2b3436;
  color:var(--text)
}
.chart-legend {
  display:flex;
  align-items:center;
  gap:15px;
  padding:0 22px 5px;
  color:var(--muted);
  font-size:9px
}
.chart-legend>span {
  display:flex;
  gap:6px;
  align-items:center
}
.legend-line {
  display:inline-block;
  width:10px;
  height:2px;
  vertical-align:middle;
  margin-right:5px;
  border-radius:1px
}
.legend-line.green {
  background:var(--accent)
}
.legend-line.purple {
  background:var(--lavender)
}
.chart-source {
  margin-left:auto;
  color:var(--subtle)
}
.chart-wrap {
  position:relative;
  padding:0 12px 0 17px;
  min-width:0
}
.main-chart,.equity-chart {
  width:100%;
  height:auto;
  display:block;
  overflow:visible
}
.axis-text {
  font:11px var(--mono);
  fill:#718087
}
.last-price {
  font:11px var(--mono);
  fill:#22321c;
  font-weight:600
}
.chart-bottomline {
  margin-top:1px;
  padding:8px 20px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#718087;
  font-size:9px
}
.chart-bottomline>span {
  display:flex;
  align-items:center;
  gap:6px
}
.chart-tooltip {
  position:absolute;
  background:#20282ff5;
  border:1px solid #49565e;
  color:var(--text);
  padding:10px 12px;
  border-radius:7px;
  font-family:var(--mono);
  font-size:10px;
  pointer-events:none;
  z-index:4;
  min-width:150px;
  box-shadow:0 8px 35px #0005
}
.chart-tooltip strong {
  display:block;
  color:var(--accent);
  margin-bottom:5px;
  font-family:var(--font)
}
.chart-tooltip span {
  color:var(--muted)
}
.brief-panel .panel-heading {
  padding-bottom:0
}
.brief-intro {
  padding:5px 22px 12px;
  font-size:11px
}
.brief-item {
  display:flex;
  gap:11px;
  margin:0 21px;
  padding:16px 0;
  border-bottom:1px solid var(--border-soft)
}
.brief-item:nth-last-child(2) {
  border:0
}
.brief-icon {
  color:var(--accent);
  background:#c4ec8109;
  border:1px solid #c4ec811b;
  width:29px;
  height:29px;
  border-radius:7px;
  display:grid;
  place-items:center;
  flex-shrink:0
}
.brief-icon.purple {
  color:var(--lavender);
  background:#b2a3df09;
  border-color:#b2a3df1b
}
.brief-icon.amber {
  color:var(--amber);
  background:#dcbc8509;
  border-color:#dcbc851b
}
.brief-item strong {
  font-size:11px;
  font-weight:550;
  display:block;
  margin:1px 0 6px
}
.brief-item p {
  font-size:10px;
  line-height:1.7;
  color:#8a989e
}
.brief-chip {
  display:inline-block;
  color:#718087;
  font-size:8px;
  margin-top:8px;
  background:#8899a208;
  border:1px solid #8899a212;
  padding:2px 5px;
  border-radius:4px
}
.brief-action {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:#141b18;
  border:0;
  border-top:1px solid #2b352d;
  width:100%;
  padding:13px;
  color:#b9cf9b;
  font-size:10px;
  margin-top:5px
}
.brief-action:hover {
  background:#263024
}
.playbook-panel .panel-heading {
  padding-top:22px
}
.playbook-list {
  padding:0 21px
}
.playbook-row {
  width:100%;
  display:flex;
  align-items:center;
  gap:11px;
  background:none;
  border:0;
  border-bottom:1px solid var(--border-soft);
  text-align:left;
  padding:17px 0
}
.playbook-row:last-child {
  border-bottom:0
}
.playbook-row:hover .playbook-row-title strong {
  color:var(--accent)
}
.strategy-icon {
  display:inline-grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:9px;
  flex-shrink:0;
  color:var(--accent);
  background:#c4ec810c;
  border:1px solid #c4ec811b
}
.strategy-icon.s-1 {
  color:var(--lavender);
  background:#b2a3df0c;
  border-color:#b2a3df1b
}
.strategy-icon.s-2 {
  color:#92c4c6;
  background:#92c4c60c;
  border-color:#92c4c61b
}
.playbook-row-title {
  flex:1;
  min-width:100px
}
.playbook-row-title strong {
  font-size:11px;
  font-weight:530;
  display:block
}
.playbook-row-title>span {
  display:block;
  font-size:9px;
  color:var(--muted);
  margin-top:5px
}
.playbook-row-title i {
  font-style:normal;
  margin:0 4px;
  color:var(--subtle)
}
.playbook-return {
  text-align:right;
  min-width:80px
}
.playbook-return strong {
  font-size:11px;
  font-family:var(--mono);
  font-weight:500
}
.playbook-return small {
  display:block;
  color:var(--subtle);
  font-size:8px;
  margin-top:4px
}
.playbook-row>.tag {
  margin:0 8px;
  font-size:8px
}
.playbook-row>.icon {
  color:var(--subtle)
}
.draft-line {
  font-size:14px;
  color:#465450;
  letter-spacing:3px
}
.add-playbook-row {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  background:none;
  border:0;
  border-top:1px dashed #2e373b;
  padding:15px;
  font-size:10px;
  color:var(--muted)
}
.add-playbook-row:hover {
  background:var(--accent-soft);
  color:var(--accent)
}
.copilot-prompt-panel {
  position:relative;
  padding:23px;
  background:radial-gradient(ellipse at 100% 0,#c4ec810a,transparent 65%),var(--panel)
}
.copilot-emblem {
  color:var(--accent);
  margin-bottom:15px
}
.copilot-prompt-panel h2 {
  font-size:20px;
  font-weight:510;
  line-height:1.4;
  letter-spacing:-.5px
}
.copilot-prompt-panel>p {
  font-size:10px;
  line-height:1.75;
  margin:10px 0 16px
}
.suggested-questions {
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:16px
}
.suggested-questions button {
  background:none;
  border:0;
  padding:3px 0;
  text-align:left;
  display:flex;
  justify-content:space-between;
  font-size:10px;
  color:#bcc9bf;
  gap:10px
}
.suggested-questions button:hover {
  color:var(--accent)
}
.suggested-questions svg {
  color:#7a8a77
}
.quick-chat {
  display:flex;
  align-items:center;
  border:1px solid #46553b;
  background:#19201a;
  padding:5px;
  border-radius:8px
}
.quick-chat input {
  border:0;
  background:none;
  padding:6px 7px;
  width:100%;
  font-size:10px;
  outline-offset:0
}
.quick-chat button {
  background:var(--accent);
  color:#24351c;
  border:0;
  border-radius:5px;
  padding:6px
}
.copilot-disclosure {
  display:block;
  color:#647368;
  font-size:8px;
  margin-top:10px;
  text-align:center
}
.watchlist-panel {
  margin-top:22px
}
.table-scroll {
  overflow-x:auto;
  max-width:100%
}
table {
  width:100%;
  border-collapse:collapse;
  text-align:left;
  white-space:nowrap;
  font-size:11px
}
thead {
  background:#12171a
}
th {
  font-size:9px;
  color:#849097;
  font-weight:450;
  padding:12px 20px;
  border-block:1px solid #242c30
}
td {
  padding:15px 20px;
  border-bottom:1px solid var(--border-soft);
  font-size:11px
}
tbody tr:last-child td {
  border-bottom:0
}
tbody tr:hover {
  background:#ffffff02
}
td strong {
  font-weight:500
}
.market-cell {
  display:flex;
  align-items:center;
  gap:10px
}
.market-cell small {
  display:block;
  color:var(--subtle);
  font-size:9px;
  margin-top:3px
}
.table-sub {
  display:block;
  color:var(--subtle);
  font-size:9px;
  margin-top:5px
}
.app-footer {
  margin-top:28px;
  padding-top:2px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#617077;
  font-size:8px;
  gap:10px
}
.app-footer>span {
  display:flex;
  align-items:center;
  gap:7px
}
.footer-separator {
  margin:0 6px;
  color:#3c494f
}
.app-footer button {
  background:none;
  border:0;
  padding:0;
  color:#85918a;
  font-size:8px
}
.page-tabs {
  display:flex;
  align-items:center;
  gap:27px;
  border-bottom:1px solid var(--border);
  margin:0 0 24px;
  min-height:45px
}
.page-tabs>button:not(.text-button) {
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:none;
  border:0;
  border-bottom:2px solid transparent;
  color:var(--muted);
  font-size:11px;
  padding:0 0 16px;
  margin-bottom:-1px;
  white-space:nowrap
}
.page-tabs>button.active {
  color:var(--accent);
  border-bottom-color:var(--accent)
}
.page-tabs button>span {
  font-size:8px;
  padding:1px 5px;
  background:#a3b18c12;
  border-radius:4px;
  color:#8b9b7e
}
.tabs-spacer {
  flex:1
}
.page-tabs>.text-button {
  padding-bottom:14px
}
.lab-layout {
  display:grid;
  grid-template-columns:292px minmax(0,1fr);
  gap:22px;
  align-items:start
}
.strategy-builder {
  overflow:visible
}
.builder-title {
  padding:18px 17px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.builder-title h2 {
  font-size:13px;
  display:flex;
  align-items:center;
  gap:7px
}
.builder-title h2>.icon {
  color:var(--accent)
}
.playbook-picker {
  position:relative;
  margin:0 16px 17px
}
.playbook-picker select {
  width:100%;
  padding:9px 11px;
  font-size:11px;
  background:#1c2427;
  border-color:#343f43
}
.playbook-picker>.icon {
  position:absolute;
  right:10px;
  top:12px;
  color:var(--muted);
  pointer-events:none
}
.builder-section {
  padding:17px 17px 5px;
  border-top:1px solid var(--border-soft)
}
.section-label {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:10px;
  margin-bottom:16px;
  color:#cdd6d2
}
.step-number {
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  font-size:8px;
  border-radius:5px;
  color:var(--accent);
  background:#c4ec8111;
  border:1px solid #c4ec8125
}
.step-number.purple {
  color:var(--lavender);
  background:#b2a3df11;
  border-color:#b2a3df25
}
.field {
  display:block;
  margin-bottom:14px;
  min-width:0
}
.field>span:first-child {
  display:block;
  margin-bottom:7px;
  color:#9faeb1;
  font-size:10px
}
.field>small,.field-help {
  font-size:9px;
  color:#687a83;
  margin-top:6px;
  line-height:1.65;
  display:block
}
.input-unit {
  display:flex;
  align-items:center;
  background:var(--input);
  border:1px solid #303a3f;
  border-radius:6px;
  overflow:hidden;
  position:relative
}
.input-unit:focus-within {
  border-color:#7b9660
}
.input-unit input {
  width:100%;
  background:transparent;
  border:0;
  border-radius:6px;
  padding:9px 10px;
  font-size:11px;
  min-height:34px;
  outline:0
}
.input-unit>span {
  position:absolute;
  right:10px;
  color:#718087;
  font-size:9px;
  pointer-events:none;
  background:var(--input);
  padding-left:4px
}
.input-unit input[type=number] {
  appearance:textfield;
  padding-right:28px
}
.input-unit input::-webkit-inner-spin-button {
  appearance:none
}
.field-row {
  display:flex;
  gap:11px;
  min-width:0
}
.field-row>.field {
  flex:1;
  min-width:0
}
.select-wrap {
  position:relative
}
.select-wrap select {
  width:100%;
  padding:9px 10px;
  min-height:34px;
  font-size:11px
}
.select-wrap>.icon {
  position:absolute;
  right:9px;
  top:11px;
  pointer-events:none;
  color:#85949a
}
.field textarea {
  width:100%;
  font-size:11px
}
.toggle-row {
  display:flex;
  align-items:center;
  gap:10px;
  position:relative;
  margin:2px 0 15px;
  cursor:pointer
}
.toggle-row>span:first-child {
  flex:1
}
.toggle-row strong {
  display:block;
  font-size:10px;
  font-weight:500
}
.toggle-row small {
  display:block;
  margin-top:4px;
  font-size:8px;
  color:var(--subtle)
}
.toggle-row>input {
  position:absolute;
  right:0;
  opacity:0;
  width:34px;
  height:20px;
  margin:0
}
.switch {
  width:29px;
  height:17px;
  display:inline-block;
  background:#3b4449;
  border:1px solid #4b565c;
  border-radius:20px;
  position:relative;
  pointer-events:none
}
.switch:after {
  content:'';
  width:11px;
  height:11px;
  background:#9ca8ab;
  position:absolute;
  top:2px;
  left:2px;
  border-radius:50%;
  transition:.2s
}
.toggle-row>input:checked+.switch {
  background:#c4ec8130;
  border-color:#8ca862
}
.toggle-row>input:checked+.switch:after {
  left:14px;
  background:var(--accent)
}
.toggle-row>input:focus-visible+.switch {
  outline:2px solid var(--accent);
  outline-offset:4px
}
details summary {
  display:flex;
  align-items:center;
  gap:8px;
  list-style:none;
  cursor:pointer;
  font-size:10px;
  color:var(--muted);
  padding:0 0 15px
}
summary::-webkit-details-marker {
  display:none
}
details summary>.icon:last-child {
  margin-left:auto
}
details[open] summary>.icon:last-child {
  transform:rotate(180deg)
}
.advanced {
  padding-bottom:0
}
.advanced summary {
  font-size:10px
}
.builder-footer {
  padding:16px;
  border-top:1px solid var(--border-soft);
  background:#121719;
  border-radius:0 0 var(--radius) var(--radius)
}
.builder-footer .btn {
  margin-bottom:8px;
  font-size:11px
}
.builder-footer>span {
  display:block;
  font-size:8px;
  color:var(--subtle);
  text-align:center;
  margin-top:4px
}
.lab-results {
  min-width:0
}
.strategy-summary {
  padding:23px;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:17px;
  margin-bottom:20px
}
.strategy-summary h2 {
  font-size:20px;
  letter-spacing:-.5px
}
.strategy-summary p {
  font-size:10px;
  margin-top:6px
}
.strategy-summary .eyebrow {
  font-size:8px;
  margin-bottom:7px
}
.strategy-summary-actions {
  display:flex;
  align-items:center;
  gap:5px
}
.rule-flow {
  display:flex;
  align-items:center;
  width:100%;
  background:#101619;
  border:1px solid #293338;
  border-radius:7px;
  padding:13px 14px;
  margin-top:2px;
  gap:10px
}
.rule-flow>div {
  position:relative;
  flex:1;
  padding-left:13px
}
.rule-flow small {
  font-size:7px;
  letter-spacing:1px;
  color:#697f89;
  display:block;
  margin-bottom:4px
}
.rule-flow strong {
  font-size:9px;
  font-weight:450;
  color:#c1cecc;
  display:block
}
.rule-dot {
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--accent);
  position:absolute;
  left:0;
  top:4px
}
.rule-dot.purple {
  background:var(--lavender)
}
.rule-dot.amber {
  background:var(--amber)
}
.rule-flow>i {
  width:16px;
  height:1px;
  background:#455153;
  position:relative;
  margin-right:5px
}
.rule-flow>i:after {
  content:'';
  position:absolute;
  width:4px;
  height:4px;
  border-top:1px solid #455153;
  border-right:1px solid #455153;
  transform:rotate(45deg);
  right:0;
  top:-2px
}
.result-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:5px 0 21px;
  margin:0 22px;
  border-bottom:1px solid var(--border-soft);
  gap:8px
}
.metric {
  padding:0 18px;
  border-right:1px solid var(--border-soft);
  min-width:0
}
.metric:first-child {
  padding-left:0
}
.metric:last-child {
  border:0
}
.metric-label {
  font-size:9px;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:9px
}
.inline-help {
  color:var(--subtle);
  background:none;
  border:0;
  padding:0;
  display:inline-flex
}
.metric>strong {
  font-size:25px;
  font-weight:500;
  letter-spacing:-.6px;
  line-height:1.2;
  display:block;
  white-space:nowrap
}
.metric>small {
  display:block;
  font-size:9px;
  color:var(--subtle);
  margin-top:7px
}
.result-tabs {
  display:flex;
  gap:23px;
  margin:0 22px;
  border-bottom:1px solid var(--border-soft);
  padding-top:8px
}
.result-tabs button {
  padding:12px 0;
  background:none;
  border:0;
  border-bottom:2px solid transparent;
  color:var(--muted);
  font-size:10px;
  margin-bottom:-1px
}
.result-tabs button.active {
  border-bottom-color:var(--accent);
  color:var(--accent)
}
.equity-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:17px 23px 4px;
  font-size:10px;
  color:#bbc8c4
}
.equity-heading small {
  margin-left:6px;
  font-size:9px;
  color:#68787f
}
.equity-chart {
  padding:8px 16px
}
.cost-attribution {
  padding:14px 0;
  margin:2px 23px 0;
  border-top:1px solid var(--border-soft);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:7px
}
.cost-attribution>div span {
  display:block;
  font-size:8px;
  color:var(--muted);
  margin-bottom:5px
}
.cost-attribution strong {
  font-family:var(--mono);
  font-size:11px;
  font-weight:400
}
.cost-attribution>span {
  color:#4b5e62;
  font-size:14px
}
.result-note {
  display:flex;
  align-items:flex-start;
  gap:7px;
  font-size:9px;
  color:#74858a;
  padding:13px 21px;
  background:#11181a88;
  border-top:1px solid #253034;
  line-height:1.7
}
.result-note>.icon {
  margin-top:2px;
  flex-shrink:0
}
.research-next {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
  gap:16px;
  margin-top:20px
}
.disprover-card {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:20px;
  gap:12px;
  background:linear-gradient(135deg,#c4ec8106,transparent),var(--panel)
}
.research-next-icon {
  color:var(--accent)
}
.research-next h3 {
  font-size:13px
}
.research-next p {
  font-size:10px;
  margin-top:6px;
  line-height:1.7
}
.disprover-card .btn {
  margin-top:3px
}
.next-step-card {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:20px;
  padding:21px
}
.next-step-card .eyebrow {
  font-size:8px
}
.next-step-card .text-button {
  color:var(--accent)
}
.empty-state {
  min-height:235px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:42px 25px;
  text-align:center;
  gap:12px
}
.empty-state h3 {
  font-size:18px;
  font-weight:500;
  letter-spacing:-.4px
}
.empty-state p {
  font-size:11px;
  max-width:440px;
  line-height:1.8
}
.empty-state .btn {
  margin-top:4px
}
.empty-orbit {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid #405039;
  border-radius:13px;
  color:var(--accent);
  background:#c4ec8108;
  font-size:31px;
  margin-bottom:3px
}
.empty-inline {
  padding:45px;
  text-align:center;
  color:var(--muted);
  font-size:11px
}
.no-results {
  min-height:370px;
  display:flex;
  align-items:center;
  justify-content:center
}
.preview-price {
  margin-top:20px
}
.ledger-toolbar {
  display:flex;
  align-items:center;
  gap:15px;
  justify-content:space-between;
  padding:13px 22px;
  color:var(--muted);
  font-size:9px;
  border-bottom:1px solid var(--border-soft)
}
.ledger-toolbar span:first-child {
  flex:1
}
.exit-reason {
  text-transform:capitalize;
  color:#9aa8ad;
  font-size:9px
}
.passport {
  padding:22px
}
.passport-heading {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:23px
}
.passport-icon {
  color:var(--accent)
}
.passport-heading h3 {
  font-size:15px
}
.passport-heading p {
  font-size:10px;
  margin-top:3px
}
.passport-heading>.tag {
  margin-left:auto
}
.passport-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  border-top:1px solid var(--border-soft);
  border-bottom:1px solid var(--border-soft);
  padding:20px 0
}
.passport-grid small {
  display:block;
  font-size:8px;
  letter-spacing:1px;
  color:var(--subtle);
  margin-bottom:6px
}
.passport-grid strong {
  font-size:11px;
  font-weight:450
}
.coverage-checks {
  padding:16px 0
}
.coverage-checks>div {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:10px;
  color:var(--muted);
  padding:7px 0
}
.coverage-checks .icon {
  color:#a6ba8a
}
.coverage-checks span {
  margin-left:auto;
  font-size:9px;
  color:#becbb7
}
.passport details {
  padding-top:14px;
  border-top:1px solid var(--border-soft)
}
.warning-list {
  font-size:10px;
  line-height:1.85;
  color:var(--muted);
  padding-left:18px
}
.warning-list li {
  margin-bottom:8px
}
.passport-actions {
  display:flex;
  gap:9px;
  margin-top:14px
}
.code-editor {
  padding:20px
}
.code-editor>div {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--lavender);
  font-size:10px;
  margin-bottom:10px
}
.code-editor>div>span {
  margin-left:auto;
  color:var(--subtle);
  font-size:8px
}
.code-editor textarea {
  font-family:var(--mono);
  font-size:11px;
  line-height:1.8;
  min-height:500px;
  width:100%;
  color:#c4dbb5
}
.code-editor>.btn {
  margin-top:13px
}
.experiments-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:23px
}
.experiments-summary h2 {
  font-size:19px
}
.experiments-summary p {
  font-size:11px;
  line-height:1.7;
  margin-top:7px
}
.diagnostic-panel {
  margin-bottom:24px
}
.stress-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  padding:2px 22px 22px
}
.stress-card {
  border:1px solid var(--border);
  border-radius:8px;
  padding:15px 13px;
  background:#111719
}
.stress-index {
  font-family:var(--mono);
  font-size:9px;
  color:var(--subtle)
}
.stress-card h3 {
  font-size:10px;
  margin:13px 0 14px;
  min-height:31px
}
.stress-card>strong {
  font-size:21px;
  font-weight:450;
  font-family:var(--mono)
}
.stress-card p {
  font-size:9px;
  line-height:1.8;
  margin-top:9px
}
.replay-layout {
  display:grid;
  grid-template-columns:minmax(0,2.5fr) minmax(270px,1fr);
  gap:22px
}
.replay-mode-tabs {
  display:flex;
  gap:6px;
  margin:0 0 14px;
}
.replay-mode-tabs button {
  border:1px solid var(--border);
  background:var(--surface);
  color:var(--muted);
  border-radius:999px;
  padding:8px 13px;
  font-size:10px;
  cursor:pointer;
}
.replay-mode-tabs button.active { background:var(--ink); color:var(--bg); border-color:var(--ink); }
.portfolio-replay-panel { padding:27px; }
.portfolio-replay-markets {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:20px 0;
}
.portfolio-replay-market {
  border:1px solid var(--border-soft);
  border-radius:10px;
  padding:14px;
  background:var(--surface-soft);
}
.portfolio-replay-market>div:first-child { display:flex; justify-content:space-between; gap:8px; margin-bottom:10px; }
.portfolio-replay-market strong { font-size:12px; }
.portfolio-replay-market small { color:var(--muted); font-size:9px; }
.portfolio-replay-market .sparkline { width:100%; }
.replay-hidden-label { display:block; margin-top:8px; font-size:9px; color:var(--muted); text-transform:uppercase; letter-spacing:.8px; }
.portfolio-replay-outcome { display:flex; justify-content:space-between; align-items:baseline; margin-top:8px; font-size:10px; }
.portfolio-replay-outcome span { color:var(--muted); }
.portfolio-replay-outcome strong { font-size:15px; }
.portfolio-replay-controls { display:flex; align-items:center; gap:16px; border-top:1px solid var(--border-soft); padding-top:16px; }
.portfolio-replay-controls input { flex:1; }
.portfolio-replay-decision { border-top:1px solid var(--border); margin-top:22px; padding-top:20px; max-width:650px; }
.portfolio-replay-decision .field-row { margin-top:12px; }
.portfolio-replay-summary { max-width:600px; }
@media (max-width:900px) { .portfolio-replay-markets { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .portfolio-replay-markets { grid-template-columns:1fr; } .portfolio-replay-panel { padding:20px; } .portfolio-replay-controls { gap:8px; } }
.replay-controls {
  display:flex;
  align-items:center;
  gap:20px;
  padding:20px 23px
}
.replay-controls input {
  flex:1
}
.replay-decision {
  padding:27px
}
.replay-decision h2 {
  font-size:27px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:-.8px
}
.replay-decision>p {
  font-size:11px;
  line-height:1.8;
  margin-top:13px;
  margin-bottom:22px
}
.replay-decision textarea {
  font-size:11px
}
.decision-buttons {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px
}
.decision-buttons .btn:last-child {
  grid-column:1/-1
}
.replay-tip {
  border-top:1px solid var(--border-soft);
  display:flex;
  gap:12px;
  align-items:center;
  margin-top:26px;
  padding-top:20px;
  color:var(--muted);
  font-size:10px
}
.replay-tip>.icon {
  color:var(--accent)
}
.replay-outcome {
  border-top:1px solid var(--border);
  margin-top:23px;
  padding-top:20px
}
.replay-outcome>small {
  font-size:8px;
  letter-spacing:1px;
  color:var(--muted)
}
.replay-outcome>strong {
  display:block;
  font-size:30px;
  margin:7px 0;
  font-weight:500
}
.replay-outcome p {
  font-size:10px;
  line-height:1.8
}
.replay-outcome .btn {
  margin-top:15px
}
.library-hero {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:60px;
  background:radial-gradient(ellipse at 88% 50%,#c4ec810a,transparent 55%),#161d1b;
  border:1px solid #354030;
  border-radius:13px;
  padding:35px 44px;
  margin-bottom:27px;
  overflow:hidden;
  position:relative
}
.library-hero h2 {
  font-size:27px;
  font-weight:500;
  line-height:1.35;
  letter-spacing:-.65px;
  color:#dfe8d9
}
.library-hero p {
  font-size:11px;
  line-height:1.8;
  margin:12px 0 19px
}
.library-hero .eyebrow {
  font-size:8px;
  color:#8a9d76;
  margin-bottom:16px
}
.library-hero .text-button {
  color:var(--accent)
}
.recipe-visual {
  position:relative;
  padding:10px 55px 10px 0;
  isolation:isolate;
  min-width:330px;
  flex-shrink:0
}
.recipe-node {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:11px;
  padding:13px 17px;
  border:1px solid #485638;
  background:#1d261f;
  color:#d2e1bd;
  font-size:11px;
  border-radius:7px;
  width:250px;
  box-shadow:0 8px 25px #0002
}
.recipe-node>span {
  margin-left:auto;
  color:#778866;
  font-size:9px;
  font-family:var(--mono)
}
.node-second {
  margin-left:26px;
  background:#222328;
  border-color:#494452;
  color:#c8c0da
}
.node-third {
  margin-left:52px;
  background:#252720;
  border-color:#55573d;
  color:#d2d4ad
}
.recipe-link {
  height:17px;
  width:1px;
  background:#5f6b4b;
  position:relative;
  margin-left:135px
}
.orbital-circle {
  position:absolute;
  z-index:0;
  width:330px;
  height:330px;
  border:1px solid #c4ec810b;
  left:-7px;
  top:-52px;
  border-radius:50%;
  box-shadow:0 0 0 35px #c4ec8103,0 0 0 68px #c4ec8103
}
.library-controls {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:22px
}
.filter-pills {
  display:flex;
  gap:7px;
  flex-wrap:wrap
}
.filter-pills button {
  font-size:10px;
  padding:8px 13px;
  border:1px solid transparent;
  border-radius:6px;
  background:none;
  color:var(--muted)
}
.filter-pills button.active {
  color:var(--accent);
  background:#c4ec8110;
  border-color:#c4ec8125
}
.search-field {
  display:flex;
  align-items:center;
  gap:8px;
  background:#13191c;
  border:1px solid var(--border);
  border-radius:7px;
  padding:0 12px;
  color:var(--subtle)
}
.search-field input {
  background:none;
  border:0;
  padding:9px 0;
  font-size:10px;
  outline-offset:0
}
.recipe-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:19px
}
.recipe-card {
  background:var(--panel);
  border:1px solid var(--border-soft);
  border-radius:11px;
  overflow:hidden;
  transition:transform .2s,border-color .2s
}
.recipe-card:hover {
  border-color:#50603f;
  transform:translateY(-3px)
}
.recipe-card-top {
  display:flex;
  align-items:center;
  gap:8px;
  padding:22px 22px 17px
}
.recipe-card-top>.tag {
  margin-left:auto;
  font-size:8px
}
.favorite.is-favorite {
  color:var(--accent)
}
.recipe-category {
  font-size:8px;
  color:#7f9095;
  text-transform:uppercase;
  letter-spacing:1.2px;
  display:block;
  margin-bottom:8px
}
.recipe-card>.recipe-category {
  padding:0 22px
}
.recipe-card>h3 {
  padding:0 22px;
  font-size:17px;
  letter-spacing:-.4px;
  font-weight:500
}
.recipe-card>p {
  padding:0 22px;
  font-size:10px;
  line-height:1.8;
  margin-top:10px;
  min-height:42px
}
.rule-flow.compact {
  margin:18px 22px;
  width:calc(100% - 44px);
  flex-direction:column;
  align-items:stretch;
  padding:12px 14px;
  gap:11px;
  background:#111719
}
.rule-flow.compact>div {
  display:flex;
  align-items:center;
  gap:10px;
  padding-left:11px
}
.rule-flow.compact small {
  margin:0;
  width:39px;
  font-size:7px
}
.rule-flow.compact strong {
  font-size:9px
}
.rule-flow.compact>i {
  display:none
}
.rule-flow.compact .rule-dot {
  top:5px
}
.recipe-meta {
  display:flex;
  gap:6px;
  padding:0 22px 19px
}
.recipe-meta>span {
  font-size:8px;
  border-right:1px solid var(--border);
  padding-right:8px;
  color:#7e8e93
}
.recipe-meta>span:last-child {
  border:0;
  padding:0
}
.recipe-footer {
  padding:15px 21px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-top:1px solid var(--border-soft);
  background:#12181b80
}
.recipe-footer>span {
  color:#607279;
  font-size:8px
}
.recipe-footer>.text-button {
  color:var(--accent);
  font-size:10px
}
.library-footnote {
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:center;
  color:var(--subtle);
  font-size:9px;
  margin-top:25px
}
.learning-intro {
  margin:30px 0
}
.learning-intro h2 {
  font-size:24px;
  font-weight:500
}
.learning-intro p {
  font-size:11px;
  margin:10px 0 15px
}
.lesson-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.lesson-card {
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:11px;
  text-align:left;
  padding:24px;
  display:flex;
  flex-direction:column
}
.lesson-card:hover {
  border-color:#61784b;
  background:#1b2420
}
.lesson-card>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:27px
}
.lesson-number {
  font-size:22px;
  color:#4b5a56;
  font-family:var(--mono)
}
.lesson-status {
  color:var(--accent)
}
.lesson-card h3 {
  font-size:17px;
  line-height:1.5;
  margin-bottom:13px
}
.lesson-card p {
  font-size:10px;
  line-height:1.9;
  margin-bottom:30px;
  flex:1
}
.lesson-card footer {
  display:flex;
  justify-content:space-between;
  color:#9fb489;
  font-size:9px
}
.academy-hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) 285px;
  gap:30px;
  align-items:stretch;
  margin:26px 0 24px;
  padding:30px 34px;
  border:1px solid #40503d;
  border-radius:13px;
  background:radial-gradient(circle at 92% 18%,#c4ec8114,transparent 38%),linear-gradient(120deg,#18221d,#151b1e 70%);
}
.academy-hero-copy { min-width:0 }
.academy-kicker { display:flex; align-items:center; gap:12px; color:#a9bc9d; font-size:10px }
.academy-kicker b,.academy-kicker small { display:block }
.academy-kicker b { color:#dbe8d4; font-weight:500; margin-bottom:4px }
.academy-kicker small { color:#8f9e91; font-size:9px }
.academy-progress-ring { display:grid; place-items:center; width:49px; height:49px; border:1px solid #71895b; border-radius:50%; background:#101714; color:var(--accent); font-family:var(--mono) }
.academy-progress-ring strong { font-size:16px; line-height:1 }
.academy-progress-ring small { display:block; margin:0; color:#7d9275; font-size:8px }
.academy-hero h2 { margin:24px 0 11px; color:#e0e9dc; font-size:29px; line-height:1.26; font-weight:500; letter-spacing:-.7px }
.academy-hero-copy>p { max-width:510px; margin-bottom:20px; color:#9aa89d; font-size:11px; line-height:1.8 }
.academy-hero-aside { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:20px 21px; border-left:1px solid #304035; background:#10171380 }
.academy-hero-aside>strong { margin-top:10px; color:#d6e6cc; font-size:18px; font-weight:500; line-height:1.35 }
.academy-hero-aside>p { margin:8px 0 20px; color:#8f9c92; font-size:10px; line-height:1.7 }
.academy-hero-aside>small { margin-top:9px; color:#7d8f82; font-size:9px }
.academy-progress-bar { height:5px; overflow:hidden; border-radius:99px; background:#29352e }
.academy-progress-bar i { display:block; height:100%; border-radius:inherit; background:var(--accent); transition:width .3s ease }
.academy-principles { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px, .85fr); gap:30px; align-items:end; margin:24px 0 29px; padding:0 2px }
.academy-principles h2 { margin-top:8px; font-size:21px; font-weight:500; letter-spacing:-.3px }
.academy-principles>p { color:#8f9c92; font-size:10px; line-height:1.8 }
.academy-stages { display:grid; gap:23px }
.academy-stage { padding-top:23px; border-top:1px solid var(--border) }
.academy-stage-header { display:grid; grid-template-columns:49px minmax(0,1fr) auto; gap:14px; align-items:start; margin-bottom:16px }
.academy-stage-number { display:grid; place-items:center; width:40px; height:40px; border:1px solid #50643f; border-radius:50%; background:#172018; color:var(--accent); font:12px var(--mono) }
.stage-purple .academy-stage-number { border-color:#5f547c; background:#1d1a26; color:#c3b6eb }
.stage-gold .academy-stage-number { border-color:#786243; background:#211e18; color:#e3c78e }
.stage-teal .academy-stage-number { border-color:#416960; background:#172120; color:#9bd9cb }
.academy-stage-header h2 { margin-top:5px; font-size:18px; font-weight:500 }
.academy-stage-header p { margin-top:5px; color:#83918d; font-size:10px; line-height:1.6 }
.academy-stage-count { padding-top:5px; color:#8ca786; font:10px var(--mono) }
.academy-module-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px }
.academy-module-card { min-width:0; padding:17px; border:1px solid var(--border); border-radius:9px; background:#151b1e; text-align:left; transition:transform .18s,border-color .18s,background .18s }
.academy-module-card:hover:not(:disabled) { transform:translateY(-2px); border-color:#647b51; background:#1a231d }
.academy-module-card.is-complete { border-color:#536a49; background:#172019 }
.academy-module-card.is-locked { opacity:.53; cursor:not-allowed }
.academy-module-top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:20px }
.academy-module-icon { display:grid; place-items:center; width:31px; height:31px; border-radius:7px; background:#202b24; color:#a9d984 }
.academy-module-card.is-complete .academy-module-icon { background:#c4ec8120; color:var(--accent) }
.academy-module-card.is-locked .academy-module-icon { background:#202326; color:#7d8788 }
.academy-module-status { color:#8ba182; font-size:8px; text-transform:uppercase; letter-spacing:.8px }
.academy-module-card.is-locked .academy-module-status { color:#7b8587 }
.academy-module-card .recipe-category { min-height:24px; margin-bottom:7px; font-size:7px; line-height:1.5 }
.academy-module-card h3 { min-height:42px; font-size:14px; line-height:1.45; font-weight:500 }
.academy-module-card p { min-height:39px; margin-top:8px; color:#909c98; font-size:9px; line-height:1.65 }
.academy-module-card footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:19px; padding-top:13px; border-top:1px solid #273031; color:#7e9b76; font-size:8px }
.academy-module-card footer .icon { color:#a7c98d }
.academy-modal-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:20px; color:#82918b; font-size:9px }
.academy-modal-body>p { color:#aab5af; font-size:11px; line-height:1.85 }
.academy-modal-objective { display:flex; flex-direction:column; gap:5px; margin-bottom:16px; padding:13px 15px; border-left:2px solid var(--accent); background:#c4ec8109; color:#b6c9ad!important }
.academy-modal-objective strong { color:var(--accent); font-size:9px; text-transform:uppercase; letter-spacing:.8px }
.academy-vocabulary { display:grid; gap:7px; margin-top:19px; padding:15px; border:1px solid var(--border); border-radius:8px; background:#111719 }
.academy-vocabulary strong { color:#c9d8c5; font-size:10px; font-weight:500 }
.academy-vocabulary span { color:#8f9b96; font-size:10px; line-height:1.6 }
.academy-checkpoint { margin-top:21px; padding:17px; border:1px solid #3c4e3b; border-radius:9px; background:#182019 }
.academy-checkpoint h3 { margin-top:8px; color:#dce8d7; font-size:14px; line-height:1.5; font-weight:500 }
.academy-options { display:grid; gap:8px; margin-top:14px }
.academy-option { padding:11px 13px; border:1px solid #344238; border-radius:7px; background:#121917; color:#a9b6ac; text-align:left; font-size:10px; line-height:1.5 }
.academy-option:hover:not(:disabled) { border-color:#718b60; color:#d9e8d1 }
.academy-option.is-correct { border-color:#648950; background:#c4ec8115; color:#d5edc6 }
.academy-option.is-wrong { border-color:#7f5358; background:#ec959b12; color:#e7b5b6 }
.academy-feedback { display:flex; gap:8px; align-items:flex-start; margin-top:12px; font-size:10px; line-height:1.6 }
.academy-feedback.is-correct { color:#bdddab }
.academy-feedback.is-wrong { color:#e1afb2 }
.academy-feedback:empty { display:none }
.academy-feedback span { display:block; min-width:0 }
.academy-feedback strong { font-weight:500 }
.academy-progress-ring.is-complete { border-color:var(--accent); background:#c4ec8120 }
.academy-stage.is-complete .academy-stage-number { border-color:#71895b; background:#c4ec8118; color:var(--accent) }
.academy-stage.is-complete .academy-stage-count { color:var(--accent) }
.academy-module-card footer span { display:inline-flex; align-items:center; gap:5px; min-width:0 }
.academy-module-card.is-locked footer { color:#7b8587 }
.academy-modal-done { display:inline-flex; align-items:center; gap:4px; margin-left:auto; color:var(--accent) }
/* Leverage Lab */
.academy-tool { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px; align-items:center; margin:0 0 26px; padding:17px 19px; border:1px solid #3c4e3b; border-radius:11px; background:linear-gradient(135deg,#172019,#141a1d) }
.academy-tool-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:9px; background:#c4ec8118; color:var(--accent) }
.academy-tool h3 { margin-top:5px; font-size:15px; font-weight:500 }
.academy-tool p { margin-top:5px; color:#8f9c92; font-size:10px; line-height:1.7 }
.lev-layout { display:grid; grid-template-columns:272px minmax(0,1fr); gap:22px; align-items:start }
.lev-form { display:grid; gap:18px; position:sticky; top:0 }
.lev-form-section { display:grid; gap:10px; padding-bottom:16px; border-bottom:1px solid var(--border-soft) }
.lev-form-section:last-child { border-bottom:0; padding-bottom:0 }
.lev-form .eyebrow { margin-bottom:2px }
.lev-side { margin-bottom:2px }
.lev-side span { font-size:11px; padding:9px }
.lev-field>span { display:flex; justify-content:space-between; align-items:baseline; gap:8px; font-size:10px }
.lev-field output { color:var(--accent); font:12px var(--mono) }
.lev-range input[type=range] { margin-top:4px }
.lev-picks { display:flex; flex-wrap:wrap; gap:5px }
.lev-picks button { padding:5px 9px; border:1px solid var(--border); border-radius:6px; background:var(--input); color:var(--muted); font:10px var(--mono) }
.lev-picks button:hover { border-color:#647b51; color:var(--text) }
.lev-picks button.active { border-color:#8da861; background:#c4ec8115; color:var(--accent) }
.lev-sizing { display:grid; grid-template-columns:1fr 1fr; gap:7px }
.lev-sizing button { padding:9px 10px; border:1px solid #3b494f; border-radius:7px; background:#121a1d; text-align:left; transition:border-color .15s,background .15s }
.lev-sizing button strong { display:block; color:#c9d8c5; font-size:10px; font-weight:500 }
.lev-sizing button small { display:block; margin-top:3px; color:#7f8d90; font-size:8px; line-height:1.45 }
.lev-sizing button.active { border-color:#8da861; background:#c4ec8112 }
.lev-sizing button.active strong { color:var(--accent) }
.lev-small-fields { gap:8px }
.lev-small-fields .field>span { font-size:9px }
.lev-small-fields input { font-size:11px }
.lev-toggle { margin:0; padding:9px 10px; border:1px solid var(--border); border-radius:7px; align-self:end }
.lev-toggle strong { font-size:10px }
.lev-toggle small { font-size:8px }
.lev-output { display:grid; gap:18px; min-width:0 }
.lev-panel { min-width:0; padding:16px 17px; border:1px solid var(--border); border-radius:10px; background:#111719 }
.lev-layout>* { min-width:0 }
.lev-panel-head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 14px; margin-bottom:12px }
.lev-panel-head>span:last-child { color:#7f8d90; font-size:9px }
.lev-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px }
.lev-stats>div { min-width:0; padding:11px 12px; border:1px solid var(--border-soft); border-radius:8px; background:#151b1e }
.lev-stats small { display:block; margin-bottom:5px; color:#7f8d90; font-size:8px; text-transform:uppercase; letter-spacing:.7px }
.lev-stats strong { display:block; font:500 14px var(--mono); color:#dfe8dc; overflow-wrap:anywhere }
.lev-stats strong.positive { color:var(--accent) }
.lev-stats strong.negative { color:var(--red) }
.lev-stats span { display:block; margin-top:4px; color:#8a969b; font-size:9px; line-height:1.45 }
.lev-liquidated { display:flex; align-items:center; gap:8px; margin:-4px 0 12px; color:var(--red); font-size:10px }
.lev-panel .notice { margin:0 }
.lev-table td,.lev-table th { white-space:nowrap; font-size:10px; padding:7px 6px }
.lev-table th { font-size:9px }
.lev-axis { font-size:19px }
.lev-table td small { display:block; color:#7f8d90; font-size:8px }
.lev-table tr.is-current td { background:#c4ec810c }
.lev-table tr.is-liquidated td { color:#c99ca0 }
.lev-table td.positive { color:var(--accent) }
.lev-table td.negative { color:var(--red) }
.lev-table .tag { margin-left:6px; vertical-align:middle }
.lev-hypothesis { margin-bottom:12px; color:#9aa89d; font-size:10px; line-height:1.75 }
.lev-hypothesis strong { color:#c9d8c5; font-weight:500 }
.lev-chart { display:block; width:100%; height:auto; margin:4px 0 14px }
.tag.gold { color:#e3c78e; background:#e3c78e14; border-color:#e3c78e2e }

.notice {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:15px 18px;
  background:#172020;
  border:1px solid #324342;
  border-radius:8px;
  color:#92aaa7;
  font-size:10px;
  line-height:1.8;
  margin:20px 0
}
.notice>.icon {
  margin-top:1px
}
.notice.warning {
  color:var(--amber);
  background:#29251a;
  border-color:#645934
}
.notice.subtle {
  background:none;
  border-color:var(--border-soft);
  color:var(--subtle)
}
.guided-banner {
  display:flex;
  align-items:center;
  gap:15px;
  border:1px solid #51643a;
  background:#c4ec810a;
  border-radius:10px;
  padding:18px 21px;
  margin:0 0 23px
}
.guide-icon {
  color:var(--accent)
}
.guided-banner>div {
  flex:1
}
.guided-banner strong {
  font-size:13px
}
.guided-banner p {
  font-size:10px;
  margin-top:5px
}
.portfolio-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:22px
}
.account-switch {
  display:flex;
  align-items:center;
  gap:12px
}
.account-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid #4d475e;
  border-radius:9px;
  color:var(--lavender);
  background:#b2a3df09
}
.account-switch strong {
  font-size:12px;
  font-weight:500
}
.account-switch small {
  display:block;
  margin-top:4px;
  font-size:9px;
  color:var(--subtle)
}
.account-switch>.tag {
  margin-left:6px
}
.simulation-time {
  display:flex;
  align-items:center;
  gap:8px
}
.simulation-time>span {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px;
  color:var(--muted);
  margin-right:8px
}
.portfolio-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:24px 23px;
  margin-bottom:21px
}
.portfolio-chart-grid {
  display:grid;
  grid-template-columns:minmax(0,2.5fr) minmax(260px,1fr);
  gap:21px;
  margin-bottom:23px
}
.risk-overview {
  padding-bottom:20px
}
.risk-overview .panel-heading>.icon {
  color:var(--accent)
}
.score-row {
  padding:0 22px;
  margin-bottom:16px
}
.score-row>div:first-child {
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:9px;
  color:var(--muted);
  margin-bottom:8px
}
.score-row strong {
  font-weight:450;
  color:#c1cec3;
  font-size:10px
}
.progress-track {
  height:4px;
  background:#2c3638;
  border-radius:5px;
  overflow:hidden
}
.progress-track i {
  height:100%;
  display:block;
  border-radius:5px
}
.risk-status {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px;
  color:#a1b387;
  padding:6px 22px 0
}
.risk-overview>.text-button {
  margin:18px 22px 0;
  color:var(--accent);
  font-size:9px
}
.portfolio-records-header {
  display:flex;
  align-items:center;
  gap:20px;
  justify-content:space-between;
  border-bottom:1px solid var(--border);
  padding:0 22px
}
.compact-tabs {
  margin:0;
  border:0;
  gap:23px;
  min-height:55px
}
.compact-tabs>button:not(.text-button) {
  padding:17px 0;
  font-size:10px;
  gap:5px
}
.portfolio-records-header>.text-button {
  font-size:9px
}
.chart-placeholder {
  height:150px;
  display:grid;
  place-items:center;
  color:var(--subtle);
  font-size:11px
}
.deployment-list {
  padding:0 22px
}
.deployment-row {
  display:flex;
  align-items:center;
  gap:16px;
  padding:24px 0;
  border-bottom:1px solid var(--border-soft)
}
.deployment-row:last-child {
  border:0
}
.deployment-row>div {
  flex:1
}
.deployment-row h3 {
  font-size:13px;
  margin-bottom:5px
}
.deployment-row p {
  font-size:10px
}
.deployment-row small {
  font-size:9px;
  color:var(--subtle);
  display:block;
  margin-top:9px
}
.reconciliation-strip {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid var(--border-soft);
  color:var(--muted);
  font-size:11px
}
.reconciliation-strip .text-button { font-size:11px }
.reconciliation-strip .icon-btn { margin-left:auto }
.reconciliation-head { display:flex; justify-content:space-between; gap:16px; margin-bottom:18px }
.reconciliation-head h3 { margin:5px 0 }
.reconciliation-head p { margin:0; color:var(--subtle); font-size:11px }
.reconciliation-drift { margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.reconciliation-drift .panel-heading { margin-bottom:12px; }
.reconciliation-drift .panel-heading p { margin:4px 0 0; color:var(--subtle); font-size:11px; }
.reconciliation-drift-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.reconciliation-drift-grid > div { display:flex; flex-direction:column; gap:3px; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
.reconciliation-drift-grid small { color:var(--subtle); font-size:10px; }
.reconciliation-drift-grid strong { font-size:17px; }
.reconciliation-drift-grid span { color:var(--subtle); font-size:10px; }
.reconciliation-drift-disclosure { display:block; margin-top:10px; color:var(--subtle); font-size:10px; }
.strategy-health { margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:11px; background:var(--surface-2); }
.strategy-health-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.strategy-health-heading strong { display:block; font-size:12px; }
.strategy-health-heading small { display:block; margin-top:2px; color:var(--text-muted); font-size:10px; }
.strategy-health-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:10px; }
.strategy-health-grid > div { display:flex; flex-direction:column; gap:2px; min-width:0; }
.strategy-health-grid small { color:var(--text-muted); font-size:9px; }
.strategy-health-grid strong { font:14px var(--mono); }
.strategy-health-grid span { color:var(--text-muted); font-size:9px; }
.strategy-health-alerts { display:grid; gap:5px; margin-top:10px; }
.strategy-health-alerts > div { display:flex; align-items:flex-start; gap:6px; color:var(--text-muted); font-size:10px; line-height:1.4; }
.strategy-health-alerts svg { flex:0 0 auto; color:var(--amber); }
.strategy-health-disclosure { display:block; margin-top:9px; color:var(--subtle); font-size:9px; }
.journal-toolbar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:23px
}
.journal-toolbar h3 {
  font-size:14px
}
.journal-toolbar p {
  font-size:10px;
  margin-top:5px
}
.journal-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
  padding:0 23px 23px
}
.journal-card {
  padding:18px;
  background:#11181b;
  border:1px solid var(--border);
  border-radius:8px
}
.journal-card>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px
}
.journal-card h3 {
  font-size:13px;
  margin-bottom:8px;
  overflow-wrap:anywhere
}
.journal-card p {
  font-size:11px;
  line-height:1.8;
  white-space:pre-wrap;
  overflow-wrap:anywhere
}
.journal-card>small {
  display:block;
  margin-top:17px;
  color:var(--subtle);
  font-size:8px
}
.diary-metrics {
  margin:0 0 18px;
  border:1px solid var(--border)
}
.diary-insights {
  padding:20px 23px 22px;
  border:1px solid var(--border);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(171,232,96,.06),rgba(150,128,255,.04));
  margin-bottom:18px
}
.insight-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.insight-card {
  padding:16px;
  border:1px solid var(--border);
  background:rgba(15,22,24,.7);
  border-radius:8px
}
.insight-card h3 { font-size:13px; margin:8px 0 7px }
.insight-card p { font-size:11px; line-height:1.65; color:var(--muted) }
.insight-card small { display:block; margin-top:12px; color:var(--subtle); font-size:9px }
.insight-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px }
.insight-actions .text-button { font-size:10px }
.insight-feedback { color:var(--purple)!important }
.coaching-panel { margin-bottom:16px }
.coaching-row,.coaching-invite { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; border-top:1px solid var(--border-soft) }
.coaching-row p,.coaching-invite p { margin:5px 0; font-size:11px; color:var(--muted) }
.coaching-row small { color:var(--subtle); font-size:10px }
.coaching-invite { background:var(--surface-2); border:1px solid var(--border-soft); border-radius:10px; padding:14px; margin-top:12px }
.deployment-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.observation-monitor-panel{margin-bottom:18px}.observation-monitor-panel .panel-heading{margin-bottom:14px}.observation-monitor-panel .panel-heading p{max-width:620px}.observation-monitor-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.observation-monitor-controls .select-wrap{min-width:170px}.observation-monitor-controls .select-wrap span{display:block;margin-bottom:5px;color:var(--text-muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.observation-monitor-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;color:var(--text-muted);font-size:10px}.observation-monitor-meta strong{display:block;margin-top:3px;color:var(--text);font:11px var(--mono);text-transform:uppercase}.observation-monitor-disclosure{display:block;margin-top:12px;color:var(--text-muted)}.observation-history{margin-top:12px;border-top:1px solid var(--border-soft);padding-top:10px}.observation-history-heading{display:flex;justify-content:space-between;gap:12px;color:var(--text-muted);font-size:11px;margin-bottom:6px}.observation-history-heading strong{color:var(--text)}.observation-row{display:grid;grid-template-columns:auto auto auto 1fr auto auto max-content;align-items:center;gap:8px;padding:6px 0;color:var(--text-muted);font-size:11px}.observation-row strong{color:var(--text);font-family:var(--mono);font-size:11px}.observation-dot{width:7px;height:7px;border-radius:50%;background:var(--amber)}.observation-dot.fresh{background:var(--accent)}.observation-signal{color:var(--purple)}.observation-freshness{text-transform:uppercase;font:9px var(--mono);letter-spacing:.08em}.observation-outcome{font:9px var(--mono);letter-spacing:.02em;white-space:nowrap}.observation-outcome.positive{color:var(--accent)}.observation-outcome.negative{color:var(--red)}.prospective-decision-status{font:9px var(--mono);letter-spacing:.02em;color:var(--amber);white-space:nowrap}.prospective-decision-status.resolved{color:var(--accent)}.observation-empty{margin-top:10px;color:var(--text-muted);font-size:11px}.observation-diary-link{font-size:9px}.diary-evidence{display:flex;align-items:center;gap:5px;margin-top:8px;color:var(--purple);font:10px var(--mono)}.diary-evidence small{display:block;margin-left:4px;color:var(--text-muted);font:9px var(--sans)}.deployment-actions .text-button{font-size:10px}
.diary-vault-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:13px 15px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}.diary-vault-actions strong,.diary-vault-actions small{display:block}.diary-vault-actions small{margin-top:4px;color:var(--text-muted);font-size:11px}.diary-vault-actions>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.decision-gym{margin:18px 0}.decision-gym-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:14px 0}.decision-gym-metrics>div{padding:11px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-1)}.decision-gym-metrics small,.decision-gym-emotions>small{display:block;color:var(--text-muted);font-size:9px;text-transform:uppercase;letter-spacing:.07em}.decision-gym-metrics strong{display:block;margin-top:5px;font:13px var(--mono);color:var(--text)}.decision-gym-metrics span{display:block;margin-top:4px;color:var(--text-muted);font-size:10px}.decision-gym-table{margin-top:12px}.decision-gym-table td,.decision-gym-table th{padding:8px 10px}.decision-gym-emotions{margin-top:13px;padding-top:12px;border-top:1px solid var(--border-soft)}.decision-gym-emotions>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.decision-gym-chip{display:inline-flex;padding:6px 8px;border:1px solid var(--border-soft);border-radius:999px;color:var(--text-secondary);font:10px var(--mono)}.decision-gym-suggestions{display:grid;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid var(--border-soft)}.decision-gym-suggestions>strong{font-size:11px}.decision-gym-suggestions article{display:flex;gap:9px;padding:10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-1)}.decision-gym-suggestions article>span{color:var(--purple)}.decision-gym-suggestions article strong{font-size:11px}.decision-gym-suggestions article p{margin:4px 0;color:var(--text-secondary);font-size:11px;line-height:1.45}.decision-gym-suggestions article small,.decision-gym-disclosure{color:var(--text-muted);font-size:10px}.decision-gym-disclosure{display:block;margin-top:12px}
@media(max-width:700px){.decision-gym-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-gym-table{margin-left:-3px;margin-right:-3px}}
.diary-reflection { margin-top:14px; padding-top:10px; border-top:1px solid var(--border); color:var(--muted) }
.diary-reflection strong { font-size:9px; text-transform:uppercase; letter-spacing:.08em; color:var(--subtle) }
.diary-reflection p { margin-top:5px }
.diary-post-fields { margin-top:22px; padding-top:17px; border-top:1px solid var(--border) }
.risk-policy-layout {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:35px;
  padding:27px
}
.risk-policy-layout h3 {
  font-size:14px;
  margin-bottom:9px
}
.risk-policy-layout p {
  font-size:10px;
  line-height:1.8;
  margin-bottom:20px
}
.risk-policy-layout .field-row {
  margin:23px 0 10px
}
.risk-policy-notes {
  padding-left:27px;
  border-left:1px solid var(--border)
}
.risk-policy-notes p {
  margin:13px 0;
  font-size:10px
}
.risk-policy-notes strong {
  font-weight:500;
  color:#cbd7c9
}
.risk-policy-notes>.btn {
  margin-top:10px
}
.modal-backdrop {
  position:fixed;
  inset:0;
  background:#050a0fbd;
  backdrop-filter:blur(5px);
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px
}
.modal {
  width:100%;
  max-width:600px;
  max-height:90vh;
  overflow:auto;
  background:#171e22;
  border:1px solid #3c474d;
  border-radius:14px;
  box-shadow:0 25px 120px #000a;
  animation:modal-in .2s ease-out
}
.modal.wide {
  max-width:850px
}
.modal.small {
  max-width:450px
}
.modal-header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:23px 25px;
  border-bottom:1px solid var(--border)
}
.modal-header h2 {
  font-size:18px;
  letter-spacing:-.4px
}
.modal-header>div>p {
  font-size:10px;
  margin-top:5px
}
.modal-body {
  padding:24px 25px
}
.modal-body p {
  font-size:12px;
  line-height:1.85
}
.modal-body>p {
  margin-bottom:17px
}
.about-intro {
  max-width:730px;
  color:#cbd6cf;
  font-size:13px!important;
  line-height:1.8!important
}
.about-beliefs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:22px 0 27px
}
.about-statement {
  padding:18px 19px 17px;
  background:linear-gradient(145deg,#242d2460,#1c2322);
  border:1px solid #3d4d3d;
  border-radius:10px
}
.about-statement-vision {
  background:linear-gradient(145deg,#2a263c80,#1c2322);
  border-color:#4a4263
}
.about-kicker,.about-section-heading>span {
  display:block;
  color:var(--accent);
  font-size:8px;
  font-weight:600;
  letter-spacing:1.5px
}
.about-statement-vision .about-kicker {
  color:#c8b7f0
}
.about-statement h3 {
  margin:10px 0 8px;
  color:#eff6ed;
  font-size:17px;
  letter-spacing:-.3px
}
.about-statement p {
  color:#a5b0aa;
  font-size:11px;
  line-height:1.75
}
.about-section-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin:0 0 4px
}
.about-section-heading>strong {
  color:#d8e3d6;
  font-size:11px;
  font-weight:500
}
.about-principle {
  display:flex;
  gap:11px;
  margin-top:20px;
  padding:15px 16px;
  background:#1c2420;
  border:1px solid #35443a;
  border-radius:9px;
  color:var(--accent)
}
.about-principle .icon {
  flex-shrink:0;
  margin-top:2px
}
.about-principle strong {
  color:#dce9d8;
  font-size:11px;
  font-weight:500
}
.about-principle p {
  margin-top:4px;
  color:#9eaba1;
  font-size:10px;
  line-height:1.7
}
.modal-footer {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:9px;
  padding:18px 25px;
  border-top:1px solid var(--border)
}
.modal .field>span {
  font-size:11px
}
.modal .field input,.modal .field select {
  font-size:12px
}
.modal .input-unit input {
  min-height:39px
}
.modal .notice {
  margin:17px 0
}
.modal .notice p {
  font-size:10px
}
.modal .field-row {
  gap:15px
}
.modal form p.form-intro {
  font-size:11px;
  line-height:1.7;
  margin-bottom:20px
}
.upload-zone {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px dashed #66844d;
  border-radius:9px;
  background:#c4ec8105;
  padding:27px 20px;
  text-align:center;
  color:#abc78a;
  gap:11px;
  margin-top:16px;
  cursor:pointer
}
.upload-zone strong {
  font-size:12px;
  font-weight:500
}
.upload-zone span {
  font-size:10px;
  color:var(--muted)
}
.upload-zone input {
  max-width:100%;
  font-size:10px;
  padding:10px
}
.data-source-row {
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 0;
  border-bottom:1px solid var(--border-soft)
}
.data-source-row>div {
  flex:1
}
.data-source-row strong {
  font-size:11px;
  display:block
}
.data-source-row small {
  font-size:9px;
  color:var(--muted)
}
.data-source-row>.icon {
  color:var(--accent)
}
.data-source-row .text-button {
  font-size:10px
}
.source-details {
  font-size:10px;
  color:var(--muted);
  line-height:1.9;
  background:#10171b;
  padding:15px;
  border-radius:8px;
  margin:17px 0;
  border:1px solid var(--border)
}
.source-details code {
  font-size:10px
}
.connection-card {
  display:flex;
  align-items:center;
  gap:14px;
  padding:17px;
  border:1px solid var(--border);
  background:#11181b;
  border-radius:9px;
  margin-bottom:12px
}
.connection-card>.icon {
  color:var(--lavender)
}
.connection-card>div {
  flex:1
}
.connection-card strong {
  font-size:12px
}
.connection-card p {
  font-size:10px;
  margin-top:4px
}
.settings-group {
  border-top:1px solid var(--border);
  margin-top:20px;
  padding-top:20px
}
.settings-group h3 {
  font-size:12px;
  margin-bottom:14px
}
.settings-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 0
}
.settings-row strong {
  font-size:11px;
  display:block;
  font-weight:450
}
.settings-row p {
  font-size:9px;
  margin-top:4px
}
.settings-row .btn {
  font-size:10px
}
.order-summary {
  padding:16px;
  background:#10181b;
  border:1px solid var(--border);
  border-radius:8px;
  margin:15px 0
}
.order-summary>div {
  display:flex;
  justify-content:space-between;
  font-size:11px;
  padding:6px 0;
  color:var(--muted)
}
.order-summary strong {
  font-family:var(--mono);
  color:var(--text);
  font-weight:400
}
.order-side {
  display:flex;
  gap:10px;
  margin-bottom:22px
}
.order-side label {
  flex:1
}
.order-side input {
  position:absolute;
  opacity:0
}
.order-side span {
  display:block;
  padding:10px;
  text-align:center;
  border:1px solid #3b494f;
  border-radius:7px;
  font-size:12px;
  background:#121a1d;
  cursor:pointer
}
.order-side input:checked+span {
  color:var(--accent);
  background:#c4ec8115;
  border-color:#8da861
}
.order-side label:nth-child(2) input:checked+span {
  color:var(--red);
  background:#ec959b15;
  border-color:#9d6b76
}
.order-side input:focus-visible+span {
  outline:2px solid var(--accent);
  outline-offset:3px
}
.modal-error {
  padding:12px 15px;
  background:#522a3430;
  border:1px solid #985466;
  color:var(--red);
  border-radius:7px;
  font-size:11px;
  margin-bottom:16px
}
.detail-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px
}
.detail-grid>div {
  padding:12px 0;
  border-bottom:1px solid var(--border)
}
.detail-grid small {
  display:block;
  font-size:9px;
  color:var(--muted);
  margin-bottom:7px
}
.detail-grid strong {
  font-size:12px;
  font-weight:500;
  font-family:var(--mono)
}
.notification-item {
  display:flex;
  gap:12px;
  align-items:flex-start;
  border-bottom:1px solid var(--border-soft);
  padding:17px 0
}
.notification-item>.icon {
  color:var(--accent);
  margin-top:3px
}
.notification-item strong {
  font-size:12px;
  font-weight:500
}
.notification-item p {
  font-size:10px;
  line-height:1.7;
  margin-top:5px
}
.notification-item small {
  color:var(--subtle);
  font-size:9px
}
.command-modal {
  max-width:600px;
  align-self:flex-start;
  margin-top:12vh
}
.command-search {
  display:flex;
  align-items:center;
  gap:12px;
  border-bottom:1px solid var(--border);
  padding:19px 22px;
  color:var(--accent)
}
.command-search input {
  flex:1;
  padding:3px 0;
  border:0;
  background:none;
  font-size:15px;
  outline:0
}
.command-search kbd {
  font-size:9px;
  color:var(--muted);
  border:1px solid var(--border);
  border-radius:4px;
  padding:3px 5px
}
.command-results {
  padding:12px
}
.command-group-label {
  font-size:8px;
  letter-spacing:1.1px;
  color:var(--subtle);
  padding:8px 11px
}
.command-item {
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border:0;
  background:transparent;
  border-radius:7px;
  width:100%;
  text-align:left
}
.command-item:hover {
  background:#c4ec8110
}
.command-item>.icon:first-child {
  color:var(--muted)
}
.command-item span {
  flex:1
}
.command-item strong {
  display:block;
  font-size:12px;
  font-weight:450
}
.command-item small {
  display:block;
  font-size:9px;
  color:var(--subtle);
  margin-top:3px
}
.command-item>.icon:last-child {
  color:#718567
}
.command-help {
  padding:12px 21px;
  font-size:9px;
  color:var(--subtle);
  border-top:1px solid var(--border)
}
.copilot-drawer {
  position:fixed;
  right:16px;
  bottom:16px;
  top:83px;
  width:390px;
  z-index:60;
  background:#151e22;
  border:1px solid #425144;
  border-radius:13px;
  box-shadow:-12px 0 70px #0008;
  display:flex;
  flex-direction:column;
  animation:slide-in .22s ease-out
}
.copilot-header {
  padding:18px 20px;
  display:flex;
  gap:10px;
  align-items:center;
  border-bottom:1px solid #344039;
  background:radial-gradient(ellipse at 0 0,#c4ec810c,transparent);
  border-radius:13px 13px 0 0
}
.copilot-header>.icon {
  color:var(--accent)
}
.copilot-header>div {
  flex:1
}
.copilot-header h2 {
  font-size:13px
}
.copilot-header small {
  display:flex;
  align-items:center;
  gap:5px;
  color:#819176;
  font-size:8px;
  margin-top:4px
}
.copilot-messages {
  flex:1;
  overflow-y:auto;
  padding:20px 18px
}
.copilot-welcome {
  padding:10px 2px 25px
}
.copilot-welcome>.icon {
  color:var(--accent);
  margin-bottom:16px
}
.copilot-welcome h3 {
  font-size:23px;
  font-weight:450;
  line-height:1.45;
  letter-spacing:-.7px
}
.copilot-welcome p {
  font-size:11px;
  line-height:1.8;
  margin:13px 0 20px
}
.copilot-suggestions {
  display:flex;
  flex-direction:column;
  gap:8px
}
.copilot-suggestions button {
  border:1px solid var(--border);
  background:#192326;
  border-radius:7px;
  padding:11px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  text-align:left;
  color:#bbc9ba;
  gap:10px
}
.chat-message {
  margin-bottom:22px
}
.chat-message.user {
  margin-left:25px;
  background:#253024;
  border:1px solid #3c5035;
  border-radius:9px 9px 2px 9px;
  padding:12px 14px
}
.chat-message .chat-label {
  display:flex;
  gap:7px;
  align-items:center;
  font-size:9px;
  margin-bottom:9px;
  color:var(--accent)
}
.chat-message p {
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#c8d2cd;
  font-size:11px;
  line-height:1.9
}
.chat-message.user p {
  color:#e0e9d8;
  font-size:11px
}
.chat-proposal {
  padding:15px 13px;
  border:1px solid #536840;
  border-radius:8px;
  background:#c4ec8106;
  margin-top:14px
}
.chat-proposal>.eyebrow {
  font-size:7px;
  margin-bottom:7px
}
.chat-proposal h3 {
  font-size:13px
}
.chat-proposal>p {
  font-size:10px;
  margin-top:7px;
  color:#aab59e
}
.chat-proposal>.btn {
  margin-top:12px;
  font-size:10px
}
.chat-message .chat-action {
  margin-top:12px
}
.copilot-input-area {
  padding:15px;
  border-top:1px solid var(--border)
}
.copilot-input-form {
  display:flex;
  align-items:flex-end;
  gap:8px;
  border:1px solid #526046;
  background:#192321;
  border-radius:9px;
  padding:8px
}
.copilot-input-form textarea {
  flex:1;
  width:100%;
  min-height:42px;
  max-height:130px;
  padding:4px 5px;
  border:0;
  background:transparent;
  font-size:11px;
  resize:none;
  outline:none
}
.copilot-input-form button {
  background:var(--accent);
  border:0;
  border-radius:6px;
  color:#23361a;
  padding:8px;
  display:grid;
  place-items:center
}
.copilot-input-caption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:8px;
  color:#6e8072;
  margin-top:8px;
  gap:8px
}
.copilot-input-caption button {
  border:0;
  background:none;
  color:#839579;
  font-size:8px;
  padding:0
}
.toast {
  position:fixed;
  bottom:25px;
  left:calc(50% + 100px);
  transform:translate(-50%,20px);
  z-index:120;
  background:#253522f5;
  border:1px solid #739357;
  color:#d4e9c4;
  border-radius:9px;
  padding:13px 19px;
  display:flex;
  align-items:center;
  gap:11px;
  max-width:min(600px,90vw);
  font-size:12px;
  opacity:0;
  pointer-events:none;
  box-shadow:0 7px 35px #0005;
  transition:.18s
}
.toast.visible {
  opacity:1;
  transform:translate(-50%,0)
}
.toast.error {
  color:#efb4bd;
  background:#39242ff5;
  border-color:#965e72
}
.skip-link {
  position:fixed;
  top:-80px;
  left:10px;
  z-index:150;
  background:var(--accent);
  color:#24331d;
  padding:12px
}
.skip-link:focus {
  top:10px
}
.mobile-menu {
  display:none
}
.loading-screen {
  min-height:100vh;
  display:flex;
  flex-direction:column;
  gap:20px;
  align-items:center;
  justify-content:center;
  color:var(--accent)
}
.loading-screen p {
  font-size:12px;
  color:var(--muted)
}
.spinner {
  width:24px;
  height:24px;
  border:2px solid #c4ec8122;
  border-top-color:var(--accent);
  border-radius:50%;
  animation:spin .8s linear infinite
}
.skeleton-message {
  display:flex;
  gap:5px;
  padding:15px
}
.skeleton-message i {
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent);
  animation:pulse 1.2s infinite
}
.skeleton-message i:nth-child(2) {
  animation-delay:.2s
}
.skeleton-message i:nth-child(3) {
  animation-delay:.4s
}
.connection-inline-code {
  display:block;
  background:#11191d;
  border:1px solid #364349;
  padding:14px;
  border-radius:7px;
  font:10px/1.9 var(--mono);
  color:#b4caa6;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  margin-top:15px
}
.lesson-body h3 {
  font-size:14px;
  margin:23px 0 10px
}
.lesson-task {
  background:#c4ec8108;
  border:1px solid #4b603b;
  border-radius:8px;
  padding:16px;
  margin-top:23px
}
.lesson-task strong {
  display:block;
  font-size:11px;
  color:var(--accent);
  margin-bottom:7px
}
.lesson-task p {
  font-size:11px
}
.model-list {
  list-style:none;
  padding:0;
  margin:0
}
.model-list li {
  display:flex;
  gap:11px;
  padding:12px 0;
  border-bottom:1px solid var(--border);
  font-size:11px;
  color:var(--muted)
}
.model-list strong {
  color:#c9d6c4;
  font-weight:500
}
.model-list .icon {
  color:var(--accent);
  margin-top:3px
}
.compare-table th {
  font-size:11px
}
.compare-table td {
  font-size:12px
}
.compare-table tbody tr td:first-child {
  color:var(--muted)
}
.model-limit {
  font-size:9px;
  line-height:1.9;
  color:var(--subtle);
  padding-top:15px
}
.modal-input-json {
  width:100%;
  min-height:250px;
  font:11px/1.8 var(--mono);
  color:#c4d8b9
}
.confirm-copy {
  white-space:pre-line
}
.modal .btn+.btn {
  margin-left:0
}
.field input[type=file] {
  font-size:10px;
  padding:10px;
  width:100%
}
.app-shell.reduce-motion * {
  animation:none!important;
  transition:none!important
}
@keyframes modal-in {
  from {
    opacity:0;
    transform:translateY(10px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes slide-in {
  from {
    opacity:0;
    transform:translateX(15px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}
@keyframes pulse {
  50% {
    opacity:.3
  }
}
@media(min-width:1750px) {
  .market-price {
    font-size:27px
  }
  .market-card {
    padding:21px
  }
  .dashboard-grid {
    grid-template-columns:minmax(0,2.35fr) minmax(330px,1fr)
  }
  .main-content {
    padding-top:39px
  }
  .brief-item {
    padding:20px 0
  }
  .copilot-prompt-panel>p {
    font-size:11px
  }
  .playbook-row {
    padding:24px 0
  }
  .chart-legend {
    padding-top:4px
  }
  .lab-layout {
    grid-template-columns:325px minmax(0,1fr)
  }
  .rule-flow strong {
    font-size:11px
  }
  .page-heading p {
    font-size:12px
  }
}
@media(max-width:1270px) {
  .sidebar {
    width:208px;
    padding-inline:12px
  }
  .main-shell {
    margin-left:208px;
    width:calc(100% - 208px)
  }
  .main-content {
    padding-inline:24px
  }
  .topbar {
    padding-inline:24px
  }
  .topbar-right {
    gap:12px
  }
  .top-search span {
    display:none
  }
  .top-search kbd {
    margin-left:0
  }
  .market-card {
    padding:14px 13px
  }
  .market-price {
    font-size:20px
  }
  .market-card .sparkline {
    max-width:35%
  }
  .market-label {
    display:none
  }
  .dashboard-grid {
    grid-template-columns:minmax(0,1.9fr) minmax(280px,1fr);
    gap:17px
  }
  .chart-source {
    display:none
  }
  .playbook-spark {
    display:none
  }
  .playbook-row {
    gap:9px
  }
  .playbook-row>.tag {
    margin:0 2px
  }
  .playbook-return {
    min-width:65px
  }
  .recipe-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .rule-flow strong {
    font-size:8px
  }
  .metric {
    padding:0 11px
  }
  .metric>strong {
    font-size:22px
  }
  .lab-layout {
    grid-template-columns:270px minmax(0,1fr);
    gap:18px
  }
  .result-metrics {
    gap:0
  }
  .cost-attribution>div span {
    font-size:7px
  }
  .cost-attribution strong {
    font-size:10px
  }
  .research-next {
    grid-template-columns:1fr
  }
  .next-step-card {
    flex-direction:row;
    align-items:center
  }
  .risk-policy-layout {
    grid-template-columns:1fr
  }
  .risk-policy-notes {
    border-left:0;
    border-top:1px solid var(--border);
    padding:20px 0 0
  }
  .page-actions {
    flex-shrink:0
  }
  .page-heading h1 {
    font-size:29px
  }
  .simulation-time>span {
    font-size:8px
  }
  .portfolio-records-header {
    gap:8px
  }
  .compact-tabs {
    gap:15px
  }
  .journal-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .stress-grid {
    grid-template-columns:repeat(3,1fr)
  }
  .recipe-visual {
    padding-right:0;
    min-width:305px
  }
  .library-hero {
    gap:30px;
    padding:30px
  }
  .lesson-grid {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:1080px) {
  .sidebar {
    width:76px;
    padding:25px 12px 0;
    align-items:center
  }
  .brand {
    margin-left:0;
    margin-bottom:38px
  }
  .brand>span:nth-child(2),.workspace-switch,.nav-label,.sidebar-note,.nav-item>span,.profile>span:nth-child(2),.profile>.icon {
    display:none
  }
  .nav-item {
    justify-content:center;
    width:46px;
    padding:10px;
    margin-bottom:8px
  }
  .sidebar nav {
    margin-bottom:26px
  }
  .sidebar-bottom {
    width:100%;
    padding-top:20px
  }
  .profile {
    justify-content:center;
    padding-block:20px
  }
  .main-shell {
    margin-left:76px;
    width:calc(100% - 76px)
  }
  .toast {
    left:calc(50% + 30px)
  }
  .page-heading p {
    font-size:10px
  }
  .portfolio-toolbar {
    align-items:flex-start
  }
  .simulation-time {
    flex-wrap:wrap;
    justify-content:flex-end
  }
  .simulation-time>span {
    width:100%;
    justify-content:flex-end;
    margin-bottom:4px
  }
  .risk-overview {
    min-width:240px
  }
  .topbar-right .environment {
    font-size:8px
  }
  .topbar {
    gap:10px
  }
  .lab-layout {
    grid-template-columns:260px minmax(0,1fr)
  }
  .strategy-summary {
    padding:18px
  }
  .strategy-summary h2 {
    font-size:17px
  }
  .strategy-summary-actions>.tag {
    font-size:8px
  }
  .rule-flow {
    flex-wrap:wrap;
    gap:8px;
    padding:12px
  }
  .rule-flow>i {
    width:9px
  }
  .rule-flow>div {
    padding-left:10px
  }
  .result-metrics {
    grid-template-columns:repeat(2,1fr);
    row-gap:20px
  }
  .result-metrics .metric:nth-child(3) {
    padding-left:0
  }
  .result-metrics .metric:nth-child(2) {
    border:0
  }
  .cost-attribution {
    flex-wrap:wrap;
    gap:14px
  }
  .cost-attribution>div {
    flex:1;
    min-width:50px
  }
  .portfolio-metrics .metric>strong {
    font-size:23px
  }
  .portfolio-chart-grid {
    grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr)
  }
  .compact-tabs {
    gap:12px
  }
  .compact-tabs>button:not(.text-button) {
    font-size:9px
  }
  .portfolio-records-header {
    flex-wrap:wrap
  }
  .portfolio-records-header>.text-button {
    padding-bottom:15px
  }
  .replay-layout {
    grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr)
  }
  .replay-decision {
    padding:23px
  }
  .lab-results .chart-wrap {
    padding:0 8px
  }
  .library-hero h2 {
    font-size:23px
  }
  .library-hero .eyebrow {
    font-size:7px
  }
}
@media(max-width:850px) {
  .main-content {
    padding:26px 20px 18px
  }
  .topbar {
    padding:0 20px
  }
  .topbar-right {
    gap:11px
  }
  .top-search {
    display:none
  }
  .mode-select {
    padding:0;
    border:0
  }
  .environment {
    display:none
  }
  .dashboard-grid {
    grid-template-columns:1fr
  }
  .brief-panel {
    grid-row:3;
    display:flex;
    flex-wrap:wrap;
    align-items:flex-start
  }
  .brief-panel>.panel-heading {
    width:100%
  }
  .brief-intro {
    width:100%;
    padding-bottom:5px
  }
  .brief-item {
    flex:1;
    min-width:180px;
    margin:0 16px;
    padding:15px 0;
    border:0
  }
  .brief-action {
    width:100%
  }
  .copilot-prompt-panel {
    grid-row:4
  }
  .playbook-panel {
    grid-row:2
  }
  .playbook-spark {
    display:block
  }
  .copilot-prompt-panel {
    padding:23px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 25px
  }
  .copilot-emblem {
    grid-column:1/-1;
    margin-bottom:0
  }
  .copilot-prompt-panel h2 {
    grid-column:1;
    grid-row:2/4;
    font-size:23px
  }
  .copilot-prompt-panel>p {
    grid-column:2;
    grid-row:2;
    margin:0
  }
  .suggested-questions {
    grid-column:2;
    grid-row:3
  }
  .quick-chat {
    grid-column:1/-1
  }
  .copilot-disclosure {
    grid-column:1/-1;
    margin-top:0
  }
  .page-heading {
    align-items:flex-start;
    flex-direction:column;
    gap:17px;
    margin-bottom:22px
  }
  .page-actions {
    padding:0
  }
  .page-heading h1 {
    font-size:29px
  }
  .page-heading p {
    font-size:11px
  }
  .market-grid {
    gap:11px
  }
  .market-card .sparkline {
    display:none
  }
  .market-price {
    font-size:20px
  }
  .market-card-top {
    gap:6px
  }
  .market-card-top strong {
    font-size:10px
  }
  .market-card-top strong>span {
    font-size:8px
  }
  .coin {
    height:25px;
    width:25px;
    font-size:17px
  }
  .market-card-top>.coin {
    display:none
  }
  .lab-layout {
    grid-template-columns:245px minmax(0,1fr);
    gap:15px
  }
  .strategy-summary .rule-flow {
    flex-direction:column;
    align-items:stretch;
    gap:12px
  }
  .strategy-summary .rule-flow>i {
    display:none
  }
  .strategy-summary .rule-flow>div {
    display:flex;
    align-items:center;
    gap:8px
  }
  .strategy-summary .rule-flow small {
    margin:0;
    width:40px
  }
  .strategy-summary .rule-flow strong {
    font-size:9px
  }
  .metric>strong {
    font-size:20px
  }
  .result-tabs {
    gap:13px
  }
  .result-tabs button {
    font-size:9px
  }
  .results-panel .panel-heading {
    padding:19px 17px
  }
  .results-panel .panel-heading h2 {
    font-size:13px
  }
  .results-panel .panel-heading p {
    font-size:9px
  }
  .cost-attribution {
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .cost-attribution>span {
    display:none
  }
  .lab-results .equity-chart {
    padding:10px 7px
  }
  .page-tabs {
    gap:22px
  }
  .page-tabs>.text-button {
    font-size:9px
  }
  .portfolio-chart-grid {
    grid-template-columns:1fr
  }
  .portfolio-metrics {
    padding:21px 17px;
    grid-template-columns:1fr 1fr;
    row-gap:23px
  }
  .portfolio-metrics .metric:nth-child(2) {
    border:0
  }
  .portfolio-metrics .metric:nth-child(3) {
    padding-left:0
  }
  .risk-overview {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3px;
    padding-bottom:15px
  }
  .risk-overview>.panel-heading {
    grid-column:1/-1
  }
  .risk-status {
    padding:0 22px
  }
  .risk-overview>.text-button {
    margin-top:0
  }
  .portfolio-toolbar {
    flex-direction:column;
    gap:22px
  }
  .simulation-time {
    flex-wrap:nowrap;
    justify-content:flex-start
  }
  .simulation-time>span {
    width:auto;
    margin:0 9px 0 0
  }
  .library-hero {
    padding:25px;
    gap:15px
  }
  .recipe-visual {
    transform:scale(.8);
    transform-origin:right center;
    min-width:260px;
    margin-left:-30px
  }
  .library-controls {
    align-items:flex-start;
    flex-direction:column;
    gap:14px
  }
  .filter-pills button {
    padding:7px 10px
  }
  .search-field {
    width:100%
  }
  .search-field input {
    width:100%
  }
  .recipe-grid {
    gap:14px
  }
  .recipe-card-top {
    padding:18px 17px 15px
  }
  .recipe-card>.recipe-category,.recipe-card>h3,.recipe-card>p {
    padding-inline:17px
  }
  .rule-flow.compact {
    margin:15px 17px;
    width:calc(100% - 34px);
    padding:12px 11px
  }
  .recipe-meta {
    padding:0 17px 17px
  }
  .recipe-footer {
    padding:13px 17px
  }
  .recipe-card>h3 {
    font-size:16px
  }
  .recipe-card .rule-flow strong {
    font-size:8px
  }
  .recipe-card .tag {
    font-size:7px
  }
  .recipe-card .strategy-icon {
    width:31px;
    height:31px
  }
  .recipe-card .favorite {
    width:22px
  }
  .recipe-meta {
    gap:4px
  }
  .recipe-meta>span {
    font-size:7px;
    padding-right:5px
  }
  .recipe-footer>.text-button {
    font-size:9px
  }
  .replay-layout {
    grid-template-columns:1fr
  }
  .replay-decision h2 br {
    display:none
  }
  .app-footer {
    align-items:flex-start;
    flex-direction:column;
    gap:10px
  }
  .copilot-drawer {
    width:370px
  }
  .guided-banner {
    align-items:flex-start;
    flex-wrap:wrap
  }
  .guided-banner>.btn {
    margin-left:36px
  }
  .passport-grid {
    gap:15px
  }
  .passport-heading {
    flex-wrap:wrap
  }
  .passport-heading>.tag {
    margin-left:0
  }
  .stress-grid {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:650px) {
  .sidebar {
    left:-228px;
    width:228px;
    align-items:stretch;
    padding:24px 16px 0;
    transition:left .2s
  }
  .menu-open .sidebar {
    left:0;
    box-shadow:20px 0 90px #000b
  }
  .sidebar .brand>span:nth-child(2),.sidebar .workspace-switch,.sidebar .nav-label,.sidebar .sidebar-note,.sidebar .nav-item>span,.sidebar .profile>span:nth-child(2),.sidebar .profile>.icon {
    display:revert
  }
  .sidebar .brand {
    margin-left:8px
  }
  .sidebar .nav-item {
    justify-content:flex-start;
    width:100%;
    padding:10px 12px
  }
  .sidebar nav {
    margin:0
  }
  .sidebar .profile {
    justify-content:flex-start
  }
  .main-shell {
    margin-left:0;
    width:100%
  }
  .topbar {
    height:60px;
    padding:0 15px
  }
  .topbar-left {
    gap:9px;
    font-size:10px
  }
  .topbar-right {
    gap:10px
  }
  .mode-label {
    display:none
  }
  .small-avatar {
    display:none
  }
  .mobile-menu {
    display:inline-flex
  }
  .main-content {
    padding:23px 16px 16px
  }
  .page-heading .eyebrow {
    font-size:8px;
    letter-spacing:1.3px
  }
  .page-heading h1 {
    font-size:27px;
    letter-spacing:-.9px
  }
  .page-heading p {
    font-size:11px;
    line-height:1.7;
    max-width:350px
  }
  .page-actions {
    width:100%;
    gap:8px
  }
  .page-actions .btn {
    flex:1;
    font-size:10px;
    padding:10px 11px
  }
  .market-grid {
    grid-template-columns:1fr 1fr;
    gap:11px
  }
  .market-card {
    padding:15px 14px
  }
  .market-card-top>.coin {
    display:flex
  }
  .market-card-top strong {
    font-size:10px
  }
  .market-card .sparkline {
    display:block;
    max-width:35%
  }
  .market-price {
    font-size:20px
  }
  .market-card-bottom {
    margin-top:15px
  }
  .market-card .market-change {
    font-size:9px
  }
  .market-card-top strong>span {
    font-size:9px
  }
  .market-change small {
    font-size:8px
  }
  .market-chart-heading {
    padding:17px 16px 13px
  }
  .chart-market {
    gap:8px
  }
  .chart-market h2 {
    font-size:12px;
    gap:4px
  }
  .chart-market p {
    font-size:8px
  }
  .chart-market>.coin {
    width:29px;
    height:29px;
    font-size:19px
  }
  .subtle-pill {
    font-size:6px;
    margin-left:1px
  }
  .market-chart-heading>.text-button {
    font-size:8px;
    gap:4px
  }
  .chart-topline {
    padding:0 16px 11px
  }
  .chart-price {
    font-size:20px
  }
  .chart-price>span {
    font-size:9px;
    margin-left:3px
  }
  .segmented button {
    font-size:8px;
    padding:4px 6px
  }
  .chart-legend {
    padding:0 16px 6px;
    font-size:8px
  }
  .chart-wrap {
    padding:0 9px
  }
  .main-chart {
    min-height:185px
  }
  .chart-bottomline {
    padding:7px 16px 10px;
    font-size:8px
  }
  .chart-bottomline>span {
    max-width:86%;
    line-height:1.6
  }
  .panel-heading {
    padding:18px 17px 14px;
    gap:10px
  }
  .panel-heading h2 {
    font-size:13px
  }
  .panel-heading p {
    font-size:9px
  }
  .panel-heading>.text-button {
    font-size:9px
  }
  .playbook-list {
    padding:0 16px
  }
  .playbook-row {
    gap:9px;
    padding:17px 0
  }
  .strategy-icon {
    width:30px;
    height:30px;
    border-radius:7px
  }
  .playbook-row-title strong {
    font-size:10px
  }
  .playbook-row-title>span {
    font-size:8px
  }
  .playbook-spark {
    display:none
  }
  .playbook-row>.tag {
    display:none
  }
  .playbook-row-title {
    min-width:0
  }
  .playbook-return {
    min-width:70px
  }
  .playbook-return strong {
    font-size:10px
  }
  .playbook-return small {
    font-size:7px
  }
  .playbook-row>.icon {
    width:12px
  }
  .brief-item {
    min-width:0;
    flex-basis:100%;
    margin:0 17px;
    border-bottom:1px solid var(--border-soft)
  }
  .brief-intro {
    padding-inline:17px
  }
  .brief-item p {
    font-size:11px
  }
  .brief-item strong {
    font-size:12px
  }
  .brief-chip {
    font-size:9px
  }
  .copilot-prompt-panel {
    display:block;
    padding:23px
  }
  .copilot-emblem {
    margin-bottom:14px
  }
  .copilot-prompt-panel h2 {
    font-size:24px
  }
  .copilot-prompt-panel>p {
    margin:13px 0 18px;
    font-size:11px
  }
  .suggested-questions {
    gap:9px;
    margin-bottom:22px
  }
  .suggested-questions button {
    font-size:11px
  }
  .quick-chat input {
    font-size:11px;
    padding:9px
  }
  .copilot-disclosure {
    margin-top:10px
  }
  .watchlist-panel {
    margin-top:20px
  }
  td {
    padding:14px 17px
  }
  th {
    padding:12px 17px
  }
  .table-scroll {
    scrollbar-width:thin;
    scrollbar-color:#445550 transparent
  }
  .page-tabs {
    gap:19px;
    overflow-x:auto;
    margin-bottom:20px;
    min-height:44px
  }
  .page-tabs>button:not(.text-button) {
    font-size:10px;
    gap:5px;
    flex-shrink:0
  }
  .page-tabs>.text-button {
    display:none
  }
  .page-tabs .icon {
    width:14px
  }
  .tabs-spacer {
    display:none
  }
  .lab-layout {
    grid-template-columns:1fr;
    gap:20px
  }
  .strategy-builder {
    max-width:100%
  }
  .builder-section {
    padding:17px 19px 3px
  }
  .builder-title {
    padding:19px 19px 12px
  }
  .playbook-picker {
    margin:0 19px 18px
  }
  .strategy-builder .field>span {
    font-size:11px
  }
  .strategy-builder .input-unit input,.strategy-builder select {
    font-size:12px;
    min-height:39px
  }
  .strategy-builder .builder-footer {
    padding:18px
  }
  .strategy-builder .field {
    margin-bottom:15px
  }
  .builder-footer .btn {
    padding:12px;
    min-height:41px;
    font-size:12px
  }
  .builder-footer>span {
    font-size:9px
  }
  .strategy-summary .rule-flow {
    flex-direction:row;
    align-items:center
  }
  .strategy-summary .rule-flow>div {
    display:block
  }
  .strategy-summary .rule-flow small {
    margin-bottom:5px;
    width:auto
  }
  .strategy-summary .rule-flow strong {
    font-size:8px
  }
  .strategy-summary-actions {
    gap:4px
  }
  .strategy-summary h2 {
    font-size:20px
  }
  .strategy-summary p {
    font-size:11px
  }
  .result-metrics {
    grid-template-columns:repeat(2,1fr);
    gap:22px 0;
    padding-bottom:23px
  }
  .result-metrics .metric>strong {
    font-size:25px
  }
  .metric-label {
    font-size:10px
  }
  .metric>small {
    font-size:9px
  }
  .result-tabs {
    gap:22px
  }
  .result-tabs button {
    font-size:10px
  }
  .equity-chart {
    min-height:170px
  }
  .cost-attribution {
    display:grid;
    grid-template-columns:1fr 1fr;
    padding:16px 0;
    gap:17px
  }
  .cost-attribution>div span {
    font-size:9px
  }
  .cost-attribution strong {
    font-size:12px
  }
  .result-note {
    font-size:9px;
    padding:14px 18px
  }
  .research-next {
    grid-template-columns:1fr
  }
  .next-step-card {
    display:flex;
    flex-direction:column;
    align-items:flex-start
  }
  .passport {
    padding:18px
  }
  .passport-heading p {
    font-size:9px
  }
  .coverage-checks>div {
    font-size:9px;
    gap:6px
  }
  .coverage-checks>div span {
    font-size:8px
  }
  .passport-actions {
    flex-wrap:wrap
  }
  .code-editor {
    padding:17px
  }
  .code-editor>div>span {
    display:none
  }
  .experiments-summary {
    flex-direction:column;
    align-items:flex-start
  }
  .experiments-summary h2 {
    font-size:18px
  }
  .stress-grid {
    grid-template-columns:1fr 1fr;
    padding:3px 17px 18px;
    gap:10px
  }
  .stress-card {
    padding:13px 11px
  }
  .stress-card>strong {
    font-size:20px
  }
  .diagnostic-panel .panel-heading {
    align-items:flex-start
  }
  .diagnostic-panel .panel-heading p {
    line-height:1.8
  }
  .replay-controls {
    padding:18px 15px;
    gap:10px
  }
  .replay-controls .btn {
    font-size:9px;
    padding:7px
  }
  .replay-chart .main-chart {
    min-height:265px
  }
  .replay-decision {
    padding:25px
  }
  .decision-buttons {
    grid-template-columns:1fr 1fr 1fr
  }
  .decision-buttons .btn:last-child {
    grid-column:auto
  }
  .replay-decision .btn {
    font-size:10px
  }
  .replay-decision .field textarea {
    font-size:12px
  }
  .library-hero {
    padding:28px 23px;
    min-height:0;
    gap:0
  }
  .library-hero h2 {
    font-size:25px
  }
  .library-hero p {
    font-size:11px
  }
  .library-hero .eyebrow {
    font-size:7px;
    max-width:300px;
    line-height:1.9
  }
  .recipe-visual {
    display:none
  }
  .library-hero .text-button {
    font-size:11px
  }
  .recipe-grid {
    grid-template-columns:1fr
  }
  .recipe-card-top {
    padding:24px 24px 19px
  }
  .recipe-card>.recipe-category,.recipe-card>h3,.recipe-card>p {
    padding-inline:24px
  }
  .recipe-card>h3 {
    font-size:20px
  }
  .recipe-card>p {
    font-size:11px;
    min-height:0
  }
  .recipe-card .tag {
    font-size:9px
  }
  .recipe-card .strategy-icon {
    width:37px;
    height:37px
  }
  .recipe-card .favorite {
    width:29px
  }
  .rule-flow.compact {
    margin:20px 24px;
    width:calc(100% - 48px);
    padding:16px;
    gap:14px
  }
  .recipe-card .rule-flow strong {
    font-size:10px
  }
  .rule-flow.compact small {
    font-size:8px;
    width:45px
  }
  .recipe-meta {
    padding:0 24px 20px;
    gap:8px
  }
  .recipe-meta>span {
    font-size:9px;
    padding-right:9px
  }
  .recipe-footer {
    padding:17px 24px
  }
  .recipe-footer>span {
    font-size:9px
  }
  .recipe-footer>.text-button {
    font-size:11px
  }
  .library-footnote {
    font-size:9px;
    line-height:1.8;
    align-items:flex-start
  }
  .library-controls {
    gap:15px
  }
  .filter-pills {
    gap:4px
  }
  .filter-pills button {
    font-size:9px;
    padding:7px 9px
  }
  .search-field input {
    font-size:11px;
    padding:11px 0
  }
  .lesson-grid {
    grid-template-columns:1fr
  }
  .learning-intro h2 {
    font-size:24px;
    line-height:1.4
  }
  .lesson-card h3 {
    font-size:19px
  }
  .lesson-card p {
    font-size:11px
  }
  .notice {
    font-size:10px;
    padding:15px
  }
  .portfolio-toolbar {
    gap:20px
  }
  .account-switch {
    gap:10px
  }
  .account-switch strong {
    font-size:11px
  }
  .account-switch small {
    font-size:8px
  }
  .account-switch>.tag {
    font-size:8px;
    margin-left:0
  }
  .simulation-time {
    width:100%;
    gap:7px
  }
  .simulation-time>span {
    font-size:8px;
    margin-right:auto;
    gap:4px
  }
  .simulation-time .btn {
    font-size:8px;
    padding:7px
  }
  .portfolio-metrics .metric>strong {
    font-size:24px
  }
  .portfolio-chart-grid {
    gap:18px
  }
  .risk-overview {
    display:block;
    padding-bottom:20px
  }
  .risk-overview .score-row {
    margin-bottom:20px
  }
  .risk-status {
    padding-top:4px
  }
  .risk-overview>.text-button {
    margin-top:18px
  }
  .portfolio-records-header {
    padding:0 16px;
    display:block
  }
  .compact-tabs {
    gap:18px;
    min-height:56px
  }
  .compact-tabs>button:not(.text-button) {
    font-size:10px;
    padding:19px 0
  }
  .portfolio-records-header>.text-button {
    padding-bottom:15px;
    padding-top:0;
    font-size:10px
  }
  .portfolio-records .empty-state {
    padding:37px 22px
  }
  .empty-state h3 {
    font-size:19px
  }
  .empty-state p {
    font-size:11px
  }
  .journal-toolbar {
    padding:20px;
    gap:15px;
    align-items:flex-start
  }
  .journal-toolbar h3 {
    font-size:13px;
    line-height:1.5
  }
  .journal-toolbar p {
    font-size:9px
  }
  .journal-toolbar>.btn {
    font-size:9px
  }
  .journal-grid {
    grid-template-columns:1fr;
    padding:0 20px 20px
  }
  .risk-policy-layout {
    padding:22px;
    gap:22px
  }
  .risk-policy-layout .field-row {
    flex-wrap:wrap
  }
  .risk-policy-layout .field-row>.field {
    flex-basis:42%
  }
  .deployment-row {
    gap:10px;
    flex-wrap:wrap;
    padding:22px 0
  }
  .deployment-row>div {
    flex-basis:calc(100% - 45px)
  }
  .deployment-row>.tag {
    margin-left:40px
  }
  .observation-row {
    grid-template-columns:auto 1fr auto;
    row-gap:6px
  }
  .observation-diary-link {
    grid-column:2/-1;
    justify-self:start
  }
  .diary-evidence {
    flex-wrap:wrap
  }
  .modal-backdrop {
    padding:12px
  }
  .modal {
    max-height:94vh;
    border-radius:12px
  }
  .modal-header {
    padding:20px
  }
  .about-beliefs {
    grid-template-columns:1fr;
    margin:18px 0 24px
  }
  .about-section-heading {
    display:block
  }
  .about-section-heading>strong {
    display:block;
    margin-top:7px;
    line-height:1.5
  }
  .modal-header h2 {
    font-size:17px
  }
  .modal-body {
    padding:20px
  }
  .modal-footer {
    padding:17px 20px
  }
  .modal .field-row {
    gap:12px
  }
  .modal .field>span {
    font-size:10px
  }
  .modal .input-unit input {
    font-size:11px
  }
  .modal .select-wrap select {
    font-size:11px;
    min-height:39px
  }
  .modal .notice {
    font-size:9px
  }
  .modal .btn {
    font-size:11px
  }
  .modal .field-row .field {
    min-width:0
  }
  .modal .detail-grid {
    gap:12px
  }
  .detail-grid strong {
    font-size:11px
  }
  .source-details {
    overflow-wrap:anywhere
  }
  .data-source-row {
    flex-wrap:wrap;
    gap:8px
  }
  .data-source-row>div {
    min-width:170px
  }
  .settings-row {
    gap:12px
  }
  .settings-row p {
    font-size:9px;
    line-height:1.6
  }
  .copilot-drawer {
    inset:68px 8px 8px;
    width:auto;
    border-radius:12px
  }
  .copilot-messages {
    padding:20px
  }
  .copilot-welcome h3 {
    font-size:27px
  }
  .copilot-welcome p {
    font-size:12px
  }
  .chat-message p {
    font-size:12px
  }
  .copilot-input-form textarea {
    font-size:12px
  }
  .chat-message.user p {
    font-size:12px
  }
  .copilot-suggestions button {
    font-size:11px
  }
  .copilot-input-area {
    padding:14px
  }
  .copilot-input-caption {
    font-size:8px
  }
  .toast {
    left:50%;
    bottom:20px;
    width:max-content;
    max-width:calc(100vw - 30px);
    font-size:11px;
    padding:12px 16px
  }
  .app-footer {
    font-size:7px;
    margin-top:25px;
    gap:8px
  }
  .app-footer button {
    font-size:7px
  }
  .app-footer>span {
    gap:5px
  }
  .command-modal {
    margin-top:8vh
  }
  .command-search input {
    font-size:14px
  }
  .command-item {
    padding:14px 11px
  }
  .guided-banner {
    padding:17px;
    gap:11px
  }
  .guided-banner strong {
    font-size:12px;
    line-height:1.5
  }
  .guided-banner p {
    font-size:10px;
    line-height:1.8
  }
  .guided-banner>.btn {
    margin-left:33px
  }
  .topbar-left .breadcrumb {
    display:none
  }
  .topbar-left>.icon {
    display:none
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
@media print {
  .sidebar,.topbar,.page-actions,.app-footer,.copilot-drawer,.modal-backdrop,.toast,.builder-footer {
    display:none!important
  }
  .main-shell {
    width:100%;
    margin:0
  }
  .main-content {
    padding:10px;
    color:#000
  }
  .panel {
    break-inside:avoid
  }
  .lab-layout {
    grid-template-columns:1fr
  }
  .strategy-builder {
    display:none
  }
  .page-tabs,.result-tabs {
    display:none
  }
  body {
    background:#fff;
    color:#000
  }
}

/* Tutorials: a calm, visual learning layer that shares the product's research palette. */
.tutorial-inline {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:0 11px;
  border:1px solid #53654a;
  border-radius:7px;
  background:#c4ec810d;
  color:#c4ec81;
  font-size:10px
}
.topbar-tutorial { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border:1px solid #475846; border-radius:6px; background:#c4ec8109; color:#b7cf9e; font-size:9px; white-space:nowrap }
.topbar-tutorial:hover { color:#d9efbe; border-color:#718d5a; background:#c4ec8116 }
.tutorial-inline:hover { background:#c4ec8118; border-color:#75915d }
.tutorial-hero {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  align-items:stretch;
  gap:24px;
  padding:30px 34px;
  margin-bottom:27px;
  border:1px solid #3d4d3d;
  border-radius:13px;
  background:radial-gradient(circle at 85% 25%,#c4ec8115,transparent 44%),linear-gradient(120deg,#18221e,#141c1d)
}
.tutorial-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center }
.tutorial-progress-kicker { display:flex; align-items:center; gap:12px; color:#b5cba0; font-size:10px; margin-bottom:22px }
.tutorial-progress-kicker>b,.tutorial-progress-kicker span>b { display:block; color:#dae8d1; font-size:11px; font-weight:600 }
.tutorial-progress-kicker small { display:block; color:#7e9088; font-size:9px; margin-top:4px }
.tutorial-progress-ring { display:flex; align-items:baseline; justify-content:center; gap:2px; width:48px; height:48px; border:1px solid #79945c; border-radius:50%; color:#c4ec81; padding-top:15px }
.tutorial-progress-ring strong { font-size:16px; font-weight:500 }
.tutorial-progress-ring small { color:#87a174; margin:0 }
.tutorial-hero h2 { max-width:430px; color:#e1e9df; font-size:30px; line-height:1.24; letter-spacing:-.8px; font-weight:500 }
.tutorial-hero p { max-width:475px; margin:13px 0 20px; color:#a0b0aa; font-size:11px; line-height:1.85 }
.tutorial-path { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:4px 0 18px }
.tutorial-path h2 { margin-top:7px; font-size:20px; font-weight:500; letter-spacing:-.35px }
.tutorial-path>p { max-width:330px; color:var(--muted); font-size:10px; line-height:1.8; text-align:right }
.tutorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:27px }
.tutorial-card { overflow:hidden; border:1px solid var(--border-soft); border-radius:11px; background:var(--panel); transition:transform .2s,border-color .2s }
.tutorial-card:hover { transform:translateY(-3px); border-color:#61784b }
.tutorial-card.is-complete { border-color:#4f6948 }
.tutorial-card-visual { position:relative; border-bottom:1px solid var(--border-soft); background:#12191a }
.tutorial-card-number { position:absolute; top:13px; right:15px; color:#61706d; font-family:var(--mono); font-size:10px }
.tutorial-card-body { padding:19px 20px 20px }
.tutorial-card-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:18px; color:#83918e; font-size:8px; letter-spacing:1px; text-transform:uppercase }
.tutorial-card-meta>.tag { letter-spacing:0; text-transform:none }
.tutorial-card h3 { margin-top:14px; font-size:17px; font-weight:500; letter-spacing:-.3px }
.tutorial-card p { min-height:52px; margin:10px 0 17px; color:var(--muted); font-size:10px; line-height:1.8 }
.tutorial-card .text-button { color:var(--accent) }
.tutorial-reference { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); gap:35px; padding:25px 27px }
.tutorial-reference h2 { margin-top:7px; font-size:20px; font-weight:500 }
.tutorial-reference p { margin-top:8px; color:var(--muted); font-size:10px; line-height:1.8 }
.reference-links { display:grid; grid-template-columns:1fr 1fr; gap:9px }
.reference-links button { display:grid; grid-template-columns:1fr auto; gap:4px 12px; padding:12px 13px; border:1px solid var(--border-soft); border-radius:7px; background:#17201f; color:#d3ddd7; text-align:left; font-size:10px }
.reference-links button:hover { border-color:#5e754b; background:#1b2722 }
.reference-links button>span { grid-column:1; color:#7f918d; font-size:9px }
.reference-links button>.icon { grid-column:2; grid-row:1/3; align-self:center; color:var(--accent) }
.tutorial-visual { min-height:142px; padding:24px 22px 16px; background:#111819 }
.tutorial-visual-hero { min-height:190px; align-self:center; border:1px solid #384936; border-radius:9px; background:#101818e8 }
.tutorial-visual-large { min-height:210px; border:1px solid var(--border-soft); border-radius:10px; background:#101819 }
.visual-caption { margin-top:9px; color:#75857e; font-size:8px; letter-spacing:.4px }
.visual-flow { display:flex; align-items:center; justify-content:center; gap:7px; padding-top:25px }
.visual-flow span { display:flex; flex-direction:column; align-items:center; gap:7px; min-width:48px; color:#cfddd3; font-size:8px }
.visual-flow b { display:grid; place-items:center; width:29px; height:29px; border:1px solid #6f875e; border-radius:50%; color:#c4ec81; font-family:var(--mono); font-size:8px; font-weight:500 }
.visual-flow i { width:20px; height:1px; background:#4d6055; position:relative }
.visual-flow i:after { content:''; position:absolute; right:0; top:-2px; width:5px; height:5px; border-top:1px solid #8ba06e; border-right:1px solid #8ba06e; transform:rotate(45deg) }
.tutorial-visual svg { display:block; width:100%; height:105px }
.tutorial-visual-large svg { height:165px }
.visual-grid { fill:none; stroke:#2b3938; stroke-width:1 }
.visual-line { fill:none; stroke:#c4ec81; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round }
.visual-line-purple { stroke:#a99be4; stroke-width:1.5; stroke-dasharray:3 3 }
.visual-area { fill:#c4ec8111; stroke:none }
.visual-dot { fill:#c4ec81 }
.visual-bar { fill:#7a9162 }
.visual-bar-purple { fill:#8f83c4 }
.visual-bar-amber { fill:#bf9554 }
.visual-legend { display:flex; gap:12px; color:#75857e; font-size:8px }
.visual-legend>span { display:inline-flex; align-items:center; gap:5px }
.risk-visual-meter { display:flex; align-items:center; justify-content:center; gap:25px; padding-top:13px }
.risk-ring { display:flex; flex-direction:column; align-items:center; justify-content:center; width:76px; height:76px; border:5px solid #6f875e; border-right-color:#2c3834; border-radius:50%; color:#d7e5d1 }
.risk-ring strong { font-size:19px; font-weight:500 }
.risk-ring small { color:#82918a; font-size:8px; margin-top:4px }
.risk-visual-lines { width:125px; display:grid; gap:11px }
.risk-visual-lines span { display:grid; gap:5px; color:#7f8f8a; font-size:8px }
.risk-visual-lines i { display:block; height:5px; border-radius:5px; background:#6f875e }
.risk-visual-lines i.purple { background:#8f83c4 }
.risk-visual-lines i.amber { background:#bf9554 }
.data-visual { display:flex; align-items:center; justify-content:center; gap:11px; padding-top:31px }
.data-visual>span { display:grid; place-items:center; width:47px; height:47px; border:1px solid #546b50; border-radius:8px; color:#c4ec81; font-family:var(--mono); font-size:10px }
.data-visual .data-check { border-radius:50%; color:#b9d8a2 }
.data-visual .data-chart { color:#aca0df }
.data-visual i { width:23px; height:1px; background:#506259; position:relative }
.data-visual i:after { content:'›'; position:absolute; right:-2px; top:-9px; color:#97ae87; font-size:16px }
.tutorial-detail-layout { display:grid; grid-template-columns:minmax(0,2.1fr) minmax(230px,.8fr); gap:22px }
.tutorial-detail-main { padding:25px }
.tutorial-detail-copy { padding:25px 3px 4px }
.tutorial-detail-copy .tutorial-card-meta { justify-content:flex-start; gap:12px }
.tutorial-intro { max-width:710px; margin:16px 0 27px; color:#c1ceca; font-size:13px; line-height:1.8 }
.tutorial-steps { display:grid; gap:0; margin:0; padding:0; list-style:none }
.tutorial-steps li { display:grid; grid-template-columns:35px minmax(0,1fr); gap:14px; position:relative; padding-bottom:24px }
.tutorial-steps li:not(:last-child):after { content:''; position:absolute; top:34px; bottom:7px; left:16px; width:1px; background:#35433f }
.tutorial-step-index { z-index:1; display:grid; place-items:center; width:33px; height:33px; border:1px solid #607a50; border-radius:50%; background:#19221e; color:#c4ec81; font-family:var(--mono); font-size:9px }
.tutorial-steps h3 { margin:4px 0 7px; font-size:14px; font-weight:500 }
.tutorial-steps p { max-width:680px; color:var(--muted); font-size:10px; line-height:1.8 }
.tutorial-step-link { display:inline-flex; align-items:center; gap:6px; margin-top:10px; color:#c4ec81; font-size:9px }
.tutorial-step-link:hover { color:#e0f5be }
.tutorial-takeaway { display:flex; gap:11px; align-items:flex-start; margin-top:5px; padding:15px 17px; border:1px solid #4e6148; border-radius:8px; background:#c4ec810b; color:#b4c8ab }
.tutorial-takeaway>.icon { flex:none; color:var(--accent) }
.tutorial-takeaway strong { display:block; color:#d9e7d2; font-size:10px }
.tutorial-takeaway p { margin-top:5px; color:#9cac99; font-size:10px; line-height:1.7 }
.tutorial-side { align-self:start; padding:25px }
.tutorial-side h2 { margin-top:12px; font-size:21px; line-height:1.35; font-weight:500; letter-spacing:-.35px }
.tutorial-side>p { margin-top:13px; color:var(--muted); font-size:10px; line-height:1.9 }
.tutorial-side-rule { height:1px; margin:24px 0 18px; background:var(--border-soft) }
.tutorial-side .text-button { color:var(--accent) }
@media(max-width:900px) {
  .tutorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .tutorial-detail-layout,.tutorial-hero { grid-template-columns:1fr }
  .tutorial-visual-hero { min-height:150px }
}
@media(max-width:650px) {
  .tutorial-inline { order:3; width:100%; justify-content:center }
  .tutorial-hero { padding:22px; gap:15px }
  .tutorial-hero h2 { font-size:25px }
  .tutorial-grid,.tutorial-reference { grid-template-columns:1fr }
  .tutorial-path { display:block }
  .tutorial-path>p { margin-top:10px; text-align:left }
  .reference-links { grid-template-columns:1fr }
  .tutorial-detail-main { padding:17px }
  .tutorial-detail-copy { padding:20px 3px 4px }
  .tutorial-detail-copy .tutorial-card-meta { flex-wrap:wrap }
  .tutorial-intro { font-size:12px }
  .tutorial-side { padding:20px }
}
@media(max-width:1100px) {
  .academy-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .lev-layout { grid-template-columns:1fr }
  .lev-form { position:static }
}
@media(max-width:900px) {
  .academy-hero { grid-template-columns:1fr; gap:22px; padding:25px }
  .academy-hero-aside { border-top:1px solid #304035; border-left:0; padding:18px 0 0 }
  .academy-principles { grid-template-columns:1fr; gap:10px }
}
@media(max-width:650px) {
  .academy-hero { margin-top:18px; padding:20px }
  .academy-hero h2 { font-size:25px }
  .academy-hero-copy>p { font-size:10px }
  .academy-stage-header { grid-template-columns:42px minmax(0,1fr) auto; gap:10px }
  .academy-stage-number { width:36px; height:36px; font-size:10px }
  .academy-stage-header h2 { font-size:16px }
  .academy-module-grid { grid-template-columns:1fr }
  .academy-module-card h3,.academy-module-card p { min-height:0 }
  .academy-module-card { padding:16px }
  .academy-modal-body>p { font-size:10px }
  .lev-layout { grid-template-columns:1fr }
  .lev-form { position:static }
  .lev-stats { grid-template-columns:repeat(2,minmax(0,1fr)) }
  .academy-tool { grid-template-columns:auto minmax(0,1fr) }
  .academy-tool>.btn { grid-column:2 }
  .academy-checkpoint { padding:14px }
}

.venue-history { margin:16px 0 20px; padding:16px 18px; border:1px solid var(--border-soft); border-radius:10px; background:var(--surface-2) }
.venue-history .panel-heading { margin-bottom:13px }
.venue-history .panel-heading p { max-width:560px }
.venue-history .detail-grid { margin:0 }
.venue-history .notice { margin-top:13px }
.venue-orderbook { margin:16px 0 20px; padding:16px 18px; border:1px solid var(--border-soft); border-radius:10px; background:var(--surface-2) }
.venue-orderbook .panel-heading { margin-bottom:13px }
.venue-orderbook .panel-heading p { max-width:560px }
.venue-orderbook .detail-grid { margin:0 }
.venue-depth-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:14px; padding-top:13px; border-top:1px solid var(--border-soft) }
.venue-depth-grid>div { display:grid; gap:5px }
.venue-depth-grid strong { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em }
.venue-depth-grid span { display:flex; justify-content:space-between; gap:12px; font-family:var(--mono); font-size:12px; color:var(--text) }
.venue-depth-grid em { color:var(--muted); font-style:normal }
.venue-impact-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; padding-top:13px; border-top:1px solid var(--border-soft) }
.venue-impact-grid>div { padding:11px 12px; border:1px solid var(--border-soft); border-radius:8px; background:var(--surface-1) }
.portfolio-xray{margin-top:18px}.portfolio-xray .panel-heading p{max-width:680px}.xray-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.xray-metrics>div{padding:11px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-1)}.xray-metrics small{display:block;color:var(--text-muted);font-size:9px}.xray-metrics strong{display:block;margin-top:5px;font:12px var(--mono);color:var(--text)}.xray-table{min-width:640px}.xray-table td,.xray-table th{padding:9px 10px}.xray-scenarios{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.xray-scenarios>div{display:flex;flex-direction:column;gap:5px;padding:10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-1)}.xray-scenarios span{color:var(--text-muted);font-size:10px}.xray-scenarios strong{font:11px var(--mono)}.xray-disclosure{display:block;margin-top:12px;color:var(--text-muted)}
@media(max-width:650px){.xray-metrics{grid-template-columns:1fr}.xray-scenarios{grid-template-columns:repeat(2,minmax(0,1fr))}}
.venue-impact-grid strong,.venue-impact-grid span,.venue-impact-grid small { display:block }
.venue-impact-grid strong { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em }
.venue-impact-grid span { margin-top:6px; font:600 16px var(--mono); color:var(--text) }
.venue-impact-grid small { margin-top:4px; color:var(--subtle); font-size:10px }
.venue-replay-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:14px; padding-top:13px; border-top:1px solid var(--border-soft) }
.venue-replay-grid>div { padding:11px 12px; border:1px solid var(--border-soft); border-radius:8px; background:var(--surface-1) }
.venue-replay-grid strong,.venue-replay-grid span,.venue-replay-grid small,.venue-replay-grid code { display:block }
.venue-replay-grid strong { font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em }
.venue-replay-grid span { margin-top:6px; font:600 14px var(--mono); color:var(--text) }
.venue-replay-grid small { margin-top:4px; color:var(--subtle); font-size:10px; line-height:1.5 }
.venue-replay-grid code { margin-top:8px; color:var(--muted); font-size:9px }
@media(max-width:650px){.venue-replay-grid{grid-template-columns:1fr}}
@media(max-width:650px){.reconciliation-drift-grid{grid-template-columns:1fr}}
@media(max-width:650px){.strategy-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.venue-orderbook .notice { margin-top:13px }
.venue-jobs { margin:16px 0 20px; padding:15px 18px; border:1px solid var(--border-soft); border-radius:10px; background:var(--surface-2) }
.venue-jobs .panel-heading { margin-bottom:10px }
.venue-jobs .panel-heading p { max-width:560px }
.venue-job-list { display:grid; gap:8px }
.venue-job-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-top:1px solid var(--border-soft) }
.venue-job-row:first-child { border-top:0 }
.venue-job-row strong,.venue-job-row small { display:block }
.venue-job-row strong { color:var(--text); font:10px var(--mono) }
.venue-job-row small { margin-top:3px; color:var(--text-muted); font-size:10px }
.thesis-challenge-panel{margin-top:16px}.thesis-challenge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.thesis-challenge-card{display:flex;flex-direction:column;gap:8px;padding:16px;border:1px solid color-mix(in srgb,var(--amber) 28%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--amber) 5%,var(--surface-2))}.thesis-challenge-card h3{margin:3px 0 0}.thesis-challenge-card p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.5}.thesis-challenge-card small{display:block;min-height:30px;color:var(--text-muted);font-size:11px;line-height:1.5}.thesis-challenge-card .btn{align-self:flex-start;margin-top:5px}.thesis-challenge-intro{display:grid;gap:10px}.thesis-challenge-intro h3{margin:0}.thesis-challenge-intro p{margin:0;color:var(--text-muted);line-height:1.6}.thesis-prompt{margin:16px 0 0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.thesis-prompt legend{max-width:100%;padding:0 5px;color:var(--text);font-size:13px;font-weight:600;line-height:1.5}.thesis-prompt legend span{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:color-mix(in srgb,var(--amber) 18%,transparent);color:var(--amber);font:10px var(--mono)}.thesis-prompt p{margin:8px 0;color:var(--text-muted);font-size:11px;line-height:1.5}.thesis-prompt textarea{width:100%;min-height:68px;resize:vertical}
.xray-controls{margin-top:16px}.xray-control-list{display:grid;gap:10px}.xray-control-row{display:flex;gap:11px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.xray-control-row.warning{border-color:color-mix(in srgb,var(--amber) 45%,var(--line));background:color-mix(in srgb,var(--amber) 8%,var(--surface-2))}.xray-control-row.review{border-color:color-mix(in srgb,var(--lavender) 45%,var(--line));background:color-mix(in srgb,var(--lavender) 8%,var(--surface-2))}.xray-control-row.clear{border-color:color-mix(in srgb,var(--green) 38%,var(--line));background:color-mix(in srgb,var(--green) 7%,var(--surface-2))}.xray-control-marker{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:var(--text-muted);background:var(--surface-3);flex:none}.xray-control-row.warning .xray-control-marker{color:var(--amber)}.xray-control-row.review .xray-control-marker{color:var(--lavender)}.xray-control-row.clear .xray-control-marker{color:var(--green)}.xray-control-row strong{display:block;font-size:13px}.xray-control-row p{margin:4px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.xray-control-row small{display:block;margin-top:7px;color:var(--text-muted);font-size:11px}
.allocation-planner{margin-top:16px}.allocation-planner form{display:grid;gap:12px}.allocation-planner .field-row{align-items:end}.allocation-result{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.allocation-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.allocation-result-head strong{font-size:13px}.allocation-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:13px 0}.allocation-metrics>div{padding:10px 11px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-1)}.allocation-metrics small{display:block;color:var(--text-muted);font-size:9px}.allocation-metrics strong{display:block;margin-top:5px;font:11px var(--mono);color:var(--text)}.allocation-priority{margin:11px 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.allocation-flags{display:grid;gap:8px}.allocation-flags .xray-control-row{display:block}.allocation-flags .xray-control-row.warning{border-color:color-mix(in srgb,var(--red) 45%,var(--line));background:color-mix(in srgb,var(--red) 8%,var(--surface-2))}.allocation-flags .xray-control-row.warning strong{color:var(--red)}
@media(max-width:650px){.allocation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.thesis-card-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.review-room-panel{margin-top:16px}.review-room-list{display:grid;gap:8px}.review-room-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 14px;border:1px solid color-mix(in srgb,var(--lavender) 24%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--lavender) 5%,var(--surface-2))}.review-room-row strong,.review-room-row span,.review-room-row small{display:block}.review-room-row span{margin-top:3px;color:var(--text-secondary);font-size:12px;text-transform:capitalize}.review-room-row small{margin-top:5px;color:var(--text-muted);font-size:11px}.review-room-intro{display:grid;gap:10px}.review-room-intro h3{margin:0}.review-room-intro p{margin:0;color:var(--text-muted);line-height:1.6}
.review-replication-list{display:grid;gap:8px;margin:16px 0;padding:14px;border:1px solid color-mix(in srgb,var(--amber) 25%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--amber) 5%,var(--surface-2))}.review-replication-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.review-replication-row:last-child{border-bottom:0}.review-replication-row strong,.review-replication-row small{display:block}.review-replication-row small{margin-top:4px;color:var(--text-muted);font-size:11px;text-transform:capitalize}
