/* P109 — Changes route composition.
 * Shared intelligence/card primitives own all dark surface paint. */
.sw-changes-page { display:grid;gap:var(--sw-family-section-gap,16px); }
.sw-changes-intro {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);
  gap:1rem;
  align-items:center;
  padding:1rem 1.05rem;
}
.sw-changes-intro h2 { margin:.12rem 0 0;color:var(--sw-dark-heading,#f4fbff); }
.sw-changes-intro p { max-width:72ch;margin:.4rem 0 0;color:var(--sw-dark-muted,#91b1c5);line-height:1.52; }

.sw-p37-personal { overflow:hidden; }
.sw-p37-personal__head { display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.72rem; }
.sw-p37-personal__head h2 { margin:.12rem 0 0; }
.sw-p37-personal__summary { display:flex;gap:.4rem;flex-wrap:wrap; }
.sw-p37-personal__summary span {
  display:inline-flex;
  align-items:baseline;
  gap:.28rem;
  padding:.28rem .48rem;
  border:1px solid color-mix(in srgb,var(--sw-accent-data,#28ace2) 17%,transparent);
  border-radius:999px;
  background:rgba(5,31,44,.58);
  color:var(--sw-dark-muted,#91b1c5);
  
}
.sw-p37-personal__summary strong { color:var(--sw-dark-heading,#f4fbff); }

.sw-p37-change-list { display:grid;gap:.52rem; }
.sw-p37-change {
  --sw-family-card-tone:var(--sw-accent-data,#28ace2);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.72rem .78rem;
}
.sw-p37-change--up { --sw-family-card-tone:var(--sw-accent-positive,#2baa72);--sw-family-card-tone-2:var(--sw-accent-data,#28ace2); }
.sw-p37-change--down { --sw-family-card-tone:var(--sw-accent-alert,#df3c23);--sw-family-card-tone-2:var(--sw-accent-premium,#f2a719); }
.sw-p37-change__copy { min-width:0; }
.sw-p37-change__copy>span { display:block;color:color-mix(in srgb,var(--sw-family-card-tone) 68%,#fff 32%);text-transform:uppercase; }
.sw-p37-change h3 { margin:.12rem 0 .38rem;color:var(--sw-dark-heading,#f4fbff); }
.sw-p37-change__signals { display:flex;flex-wrap:wrap;gap:.34rem; }
.sw-p37-change__signals span { padding:.24rem .38rem;border:1px solid rgba(255,255,255,.065);border-radius:.48rem;background:rgba(255,255,255,.025);color:#bad5df; }
.sw-p37-change__signals .is-up { border-color:color-mix(in srgb,var(--sw-accent-positive,#2baa72) 25%,transparent); }
.sw-p37-change__signals .is-down { border-color:color-mix(in srgb,var(--sw-accent-alert,#df3c23) 25%,transparent); }
.sw-p37-change nav { display:flex;gap:.36rem;flex-wrap:wrap;flex:0 0 auto; }
.sw-p37-change-list[aria-busy=true] { min-height:68px;opacity:.7; }
.sw-p37-empty { display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.72rem .78rem;border:1px dashed var(--sw-dark-border,rgba(40,172,226,.16));border-radius:.7rem;color:var(--sw-dark-muted,#91b1c5); }
.sw-p37-empty strong { color:var(--sw-dark-heading,#f4fbff); }
.sw-p37-empty span { flex:1 1 360px; }
.sw-p37-empty a { color:#8fdcf7;text-decoration:none; }

.sw-changes-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.76rem; }
.sw-change-card { display:flex;flex-direction:column;align-items:stretch;gap:.42rem;height:100%;padding:.82rem .86rem; }
.sw-change-card h3 { margin:0;color:var(--sw-dark-heading,#f4fbff);line-height:1.3; }
.sw-change-card p { margin:0;color:var(--sw-dark-muted,#91b1c5);line-height:1.45; }
.sw-change-card__change { width:fit-content;max-width:100%;padding:.27rem .45rem;border-radius:999px;line-height:1.25; }
.sw-change-card__change--up { --sw-family-card-tone:var(--sw-accent-positive,#2baa72);border-color:color-mix(in srgb,var(--sw-accent-positive,#2baa72) 26%,transparent);background:color-mix(in srgb,var(--sw-accent-positive,#2baa72) 8%,transparent);color:#aaf0cf; }
.sw-change-card__change--down { --sw-family-card-tone:var(--sw-accent-alert,#df3c23);border-color:color-mix(in srgb,var(--sw-accent-alert,#df3c23) 28%,transparent);background:color-mix(in srgb,var(--sw-accent-alert,#df3c23) 8%,transparent);color:#ffc0b6; }
.sw-change-card__change--flat { color:#b7ceda; }
.sw-change-card .sw-intel-card__actions { margin-top:auto; }

.sw-p37-history-row { text-decoration:none;color:inherit; }

@media(max-width:900px) {
  .sw-changes-intro { grid-template-columns:1fr; }
  .sw-changes-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
  .sw-p37-personal__head { align-items:flex-start;flex-direction:column; }
  .sw-p37-change { align-items:flex-start;flex-direction:column; }
  .sw-p37-change nav { width:100%; }
}
@media(max-width:640px) { .sw-changes-grid { grid-template-columns:1fr; } }
