.addons-section {
  display: grid;
  gap: var(--space-8, 32px);
}

.addons-section[hidden],
.addon-shelf[hidden] {
  display: none;
}

.addon-focus {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
  min-height: 252px;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-4, 16px);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.addon-focus-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
  padding: 36px 40px;
}

.addon-focus-copy h2 {
  max-width: 570px;
  margin: 0;
  font-size: clamp(25px, 3vw, 36px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.addon-focus-copy > p {
  max-width: 590px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

.addon-focus-copy .button {
  margin-top: 4px;
}

.addon-focus-signal {
  position: relative;
  display: grid;
  align-content: center;
  gap: 20px;
  padding: 32px;
  border-left: 1px solid var(--border);
  background-color: var(--sky-1);
  background-image:
    linear-gradient(var(--border) 1px, transparent 1px),
    linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size: 32px 32px;
}

.addon-focus-signal::after {
  position: absolute;
  inset: 24px;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, transparent);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.addon-focus-signal > * {
  position: relative;
  z-index: 1;
}

.focus-node {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 12px;
  width: min(100%, 320px);
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-3, 12px);
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: var(--shadow-soft);
}

.focus-node:last-child {
  justify-self: end;
}

.focus-node > svg,
.focus-arrow svg {
  width: 20px;
  height: 20px;
}

.focus-node > svg {
  color: var(--accent-text);
}

.focus-node small,
.addon-contract small,
.signal-contract small,
.addon-need small {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.focus-node strong {
  display: block;
  font-size: 14px;
  line-height: 1.35;
}

.focus-arrow {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  margin: -10px auto;
  border-radius: 999px;
  color: var(--accent-text);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
  transform: rotate(90deg);
}

.addon-shelf {
  min-width: 0;
}

.addon-shelf-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  min-height: 58px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--gray-2);
}

.addon-shelf-heading h2 {
  margin: 4px 0 0;
  font-size: 20px;
  letter-spacing: -0.02em;
}

.addon-list {
  border-bottom: 1px solid var(--gray-2);
}

.addon-row {
  display: grid;
  grid-template-columns: 44px minmax(240px, 1.2fr) minmax(190px, 0.75fr) 110px;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-height: 104px;
  padding: 18px 4px;
  border: 0;
  border-top: 1px solid var(--border);
  color: var(--text);
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background-color 150ms ease, padding 150ms ease;
}

.addon-row:first-child {
  border-top: 0;
}

.addon-row:hover {
  padding-inline: 12px;
  background: var(--subtle);
}

.addon-row:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid var(--focus-color);
  outline-offset: 2px;
}

.addon-icon {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: var(--radius-3, 12px);
  color: var(--accent-text);
  background: var(--sky-1);
}

.addon-icon svg {
  width: 19px;
  height: 19px;
}

.addon-icon.large {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
}

.addon-copy,
.addon-contract,
.addon-state {
  min-width: 0;
}

.addon-copy {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.addon-title {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--text);
  font-size: 16px;
  font-weight: 600;
}

.addon-contract {
  color: var(--text);
  font-size: 13px;
  line-height: 1.4;
}

.addon-state {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  color: var(--accent-text);
  font-size: 13px;
  font-weight: 600;
}

.addon-state svg {
  width: 16px;
  height: 16px;
  transition: transform 150ms ease;
}

.addon-row:hover .addon-state svg {
  transform: translateX(3px);
}

.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.addon-empty {
  padding: 24px 4px;
  color: var(--muted);
  font-size: 14px;
}

.addon-detail-lead {
  display: flex;
  align-items: center;
  gap: 16px;
}

.addon-detail-lead p {
  margin: 0;
  color: var(--text);
  font-size: 17px;
  line-height: 1.45;
}

.signal-contract {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 28px 0 16px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: var(--radius-3, 12px);
  background: var(--subtle);
}

.signal-contract > span {
  color: var(--accent-text);
}

.signal-contract > span svg {
  width: 18px;
  height: 18px;
}

.signal-contract strong,
.addon-need strong {
  display: block;
  font-size: 13px;
  line-height: 1.4;
}

.addon-need {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
  padding: 13px 16px;
  border-left: 3px solid var(--warning, #c47a17);
  background: var(--gray-1);
}

.addon-need > svg {
  width: 20px;
  height: 20px;
  color: var(--muted);
}

.addon-preview {
  overflow: hidden;
  margin: 12px 0 24px;
  border: 1px solid var(--border);
  border-radius: var(--radius-3, 12px);
}

.addon-preview-head,
.addon-preview-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--border);
}

.addon-preview-row:last-child {
  border-bottom: 0;
}

.addon-preview-head {
  background: var(--subtle);
}

.addon-preview-row span,
.addon-preview-head span {
  color: var(--muted);
  font-size: 13px;
}

.addon-preview-row strong,
.addon-preview-head strong {
  font-size: 13px;
}

.addon-active-note {
  display: flex;
  gap: 12px;
  margin: 20px 0;
  padding: 14px 16px;
  border: 1px solid var(--green-3, var(--border));
  border-radius: var(--radius-3, 12px);
  color: var(--success-text);
  background: var(--green-1);
}

.addon-active-note.pilot {
  border-color: var(--border);
  color: var(--accent-text);
  background: var(--sky-1);
}

.addon-active-note svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

.addon-active-note span {
  display: grid;
  gap: 3px;
  font-size: 13px;
}

.addon-disclaimer {
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 800px) {
  .addon-focus {
    grid-template-columns: 1fr;
  }

  .addon-focus-signal {
    min-height: 245px;
    border-top: 1px solid var(--border);
    border-left: 0;
  }

  .addon-row {
    grid-template-columns: 44px minmax(0, 1fr) auto;
  }

  .addon-contract {
    display: none;
  }
}

@media (max-width: 560px) {
  .addon-focus-copy {
    padding: 28px 24px;
  }

  .addon-focus-signal {
    padding: 24px;
  }

  .addon-shelf-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }

  .addon-row {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
  }

  .addon-state {
    grid-column: 2;
    justify-content: flex-start;
  }

  .signal-contract {
    grid-template-columns: 1fr;
  }

  .signal-contract > span {
    transform: rotate(90deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .addon-row,
  .addon-state svg {
    transition: none;
  }
}

/* Marketplace uses the same Orbit surfaces and controls as workspace reports. */
.market-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; flex-wrap:wrap; }
.market-categories { display:flex; gap:4px; flex-wrap:wrap; }
.market-categories .button { border-color:transparent; box-shadow:none; background:transparent; color:var(--muted); }
.market-categories .button[aria-pressed="true"] { background:var(--subtle); color:var(--text); }
.market-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.market-grid > [hidden] { display:none; }
.market-card { display:flex; height:100%; flex-direction:column; color:var(--text); text-decoration:none; border:1px solid var(--border); border-radius:var(--radius-panel); overflow:hidden; background:var(--surface); transition:border-color 150ms; }
.market-card:hover { border-color:var(--muted); }
.market-card:focus-visible,.market-back:focus-visible { outline:2px solid var(--focus-color); outline-offset:4px; }
.market-preview { padding:28px 30px 0; height:192px; overflow:hidden; background:var(--subtle); }
.market-window { max-width:540px; margin:auto; border:1px solid var(--border); border-radius:10px 10px 0 0; background:var(--surface); box-shadow:0 4px 18px #17171b05; }
.market-window-title { display:flex; align-items:center; gap:8px; padding:13px 16px; border-bottom:1px solid var(--border); }
.market-window-title svg { width:16px; height:16px; }
.market-window-title strong { font-size:12px; font-weight:500; }
.market-window-title > span { margin-left:auto; color:var(--muted); font-size:11px; }
.market-preview-row { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--border); font-size:12px; }
.market-preview-row > span { color:var(--muted); }
.market-preview-row strong { font-weight:500; text-align:right; }
.market-preview-row i { position:absolute; inset:6px auto 6px 6px; background:var(--subtle); border-radius:4px; z-index:-1; }
.market-card-body { padding:22px 24px; display:flex; flex-direction:column; flex:1; }
.market-card-title { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.market-card-title h2 { margin:0; font-size:18px; letter-spacing:-.025em; }
.market-card-body > p { color:var(--muted); font-size:14px; line-height:1.6; margin:10px 0 24px; max-width:42ch; }
.market-card-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; font-size:13px; }
.market-card-footer strong { font-size:18px; font-weight:500; }
.market-card-footer > span > span { color:var(--muted); }
.market-discover { display:flex; align-items:center; gap:8px; }
.market-discover svg,.market-back svg { width:16px; height:16px; }
.market-back { display:inline-flex; align-items:center; gap:8px; color:var(--muted); text-decoration:none; margin:0 0 28px; font-size:13px; }
.market-product { display:grid; gap:44px; }
.market-product-hero { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:64px; align-items:start; }
.market-category { color:var(--muted); font-size:13px; }
.market-product-copy h2 { font-size:clamp(26px,3.2vw,38px); line-height:1.2; font-weight:500; letter-spacing:-.04em; max-width:20ch; margin:12px 0 16px; }
.market-product-copy > p { font-size:15px; color:var(--muted); line-height:1.65; max-width:52ch; margin:0; }
.market-benefits { display:grid; gap:14px; list-style:none; padding:0; margin:24px 0 0; }
.market-benefits li { display:flex; gap:10px; align-items:start; font-size:14px; line-height:1.5; }
.market-benefits svg { width:16px; height:20px; flex-shrink:0; color:var(--muted); }
.market-purchase { display:flex; flex-direction:column; align-items:flex-start; gap:14px; padding:24px; border:1px solid var(--border); border-radius:var(--radius-panel); }
.market-purchase > span:first-child { color:var(--muted); font-size:13px; }
.market-price { display:flex; align-items:baseline; gap:8px; font-size:36px; line-height:1; letter-spacing:-.04em; }
.market-price > span { font-size:13px; color:var(--muted); letter-spacing:0; }
.market-purchase p { margin:0 0 6px; font-size:13px; line-height:1.5; }
.market-price-note { color:var(--muted); font-size:12px; line-height:1.5; }
.market-purchase .button:disabled { opacity:1; background:var(--subtle); color:var(--muted); cursor:not-allowed; }
.market-product-demo { margin:0; }
.market-product-demo .market-preview { border:1px solid var(--border); border-radius:var(--radius-panel); padding:36px; height:auto; }
.market-product-demo .market-window { border-radius:10px; overflow:hidden; }
.market-product-demo .market-preview-row { padding:18px 20px; font-size:14px; }
.market-preview-foot { padding:18px 20px; display:flex; align-items:center; gap:10px; font-size:13px; }
.market-preview-foot svg { width:16px; height:16px; }
.market-product-demo figcaption { text-align:center; color:var(--muted); font-size:12px; margin-top:12px; }
.market-workflow h2,.market-comparison h2 { font-size:18px; margin:0 0 22px; }
.market-workflow ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; padding:0; margin:0; list-style:none; }
.market-workflow li > span { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--border); border-radius:50%; font-size:12px; color:var(--muted); margin-bottom:12px; }
.market-workflow h3 { font-size:14px; font-weight:500; margin:0; line-height:1.5; }
.market-comparison > div { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border); border-radius:var(--radius-panel); overflow:hidden; }
.market-comparison article { padding:24px; }
.market-comparison article + article { background:var(--subtle); }
.market-comparison article > span { font-size:13px; font-weight:500; }
.market-comparison p { font-size:14px; line-height:1.65; color:var(--muted); margin:10px 0 0; }
.market-requirements { border-top:1px solid var(--border); padding-top:20px; }
.market-requirements summary { cursor:pointer; font-size:14px; }
.market-requirements p { font-size:14px; line-height:1.6; color:var(--muted); max-width:70ch; }
@media(max-width:800px) { .market-product-hero { gap:28px; grid-template-columns:minmax(0,1fr) 250px; } .market-card-footer { align-items:flex-start; flex-direction:column; } .market-preview { padding:20px 18px 0; } }
@media(max-width:600px) { .market-grid,.market-product-hero,.market-comparison > div { grid-template-columns:1fr; } .market-product { gap:32px; } .market-purchase { width:100%; } .market-workflow ol { grid-template-columns:1fr; gap:18px; } .market-workflow li { display:flex; align-items:center; gap:12px; } .market-workflow li > span { margin:0; flex-shrink:0; } .market-product-demo .market-preview { padding:18px; } .market-product-demo .market-preview-row { padding:14px 12px; font-size:12px; } .market-card-footer { flex-direction:row; } }
@media(prefers-reduced-motion:reduce) { .market-card { transition:none; } }
.market-back svg { transform:rotate(180deg); }

.market-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px; }
.market-intro h2 { font-size:24px; font-weight:500; letter-spacing:-.035em; margin:0 0 8px; }
.market-intro p { color:var(--muted); font-size:14px; margin:0; }
.market-search { display:flex; align-items:center; gap:10px; border:1px solid var(--border); border-radius:var(--radius-control, 10px); padding:10px 14px; background:var(--surface); }
.market-search svg { width:16px; height:16px; color:var(--muted); }
.market-search input { width:190px; min-width:0; border:0; background:transparent; color:var(--text); font:inherit; font-size:14px; outline:none; }
.market-search:focus-within { outline:2px solid var(--focus-color); outline-offset:2px; }
.market-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.market-card-body > .market-category { margin-bottom:10px; font-size:12px; }
.market-card-title { flex-wrap:wrap; }
.market-card-title h2 { font-size:19px; }
.market-card-body > p { margin-bottom:18px; }
.market-allowance { color:var(--muted); font-size:12px; margin-top:auto; padding-bottom:18px; }
.market-card-footer { margin-top:0; padding-top:16px; border-top:1px solid var(--border); }
.market-preview { height:180px; padding:20px 18px 0; }
.market-card[data-category="Content"] .market-preview { background:#f0edfa; }
.market-card[data-category="Monitoring"] .market-preview { background:#eaf1f8; }
.market-card[data-category="Reporting"] .market-preview { background:#edf3ed; }
.market-card[data-category="Attribution"] .market-preview { background:#faf0e5; }
.market-empty { padding:48px 24px; text-align:center; color:var(--muted); border:1px solid var(--border); border-radius:var(--radius-panel); }
@media(max-width:1050px) { .market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .market-grid { grid-template-columns:1fr; } .market-intro { align-items:stretch; flex-direction:column; } .market-search input { width:100%; } }


/* 2026-09-22 — distinctive product marks + fluid glass marketplace */
.market-card {
  position:relative;
  transform:translateZ(0);
  transition:border-color 180ms ease, transform 220ms var(--ease-out), box-shadow 220ms var(--ease-out);
}
.market-card:hover {
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--border) 58%,var(--text) 42%);
  box-shadow:0 16px 36px rgba(20,31,55,.07);
}
.market-preview {
  position:relative;
  isolation:isolate;
  background:#f7f9fc !important;
}
.market-preview::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(112deg,transparent 0 38%,rgba(255,255,255,.78) 47%,rgba(255,255,255,.18) 55%,transparent 64%);
  background-size:240% 100%;
  background-position:130% 50%;
  opacity:.65;
}
.market-fluid-a,
.market-fluid-b {
  position:absolute;
  z-index:-2;
  width:180px;
  height:180px;
  border-radius:50%;
  filter:blur(34px);
  opacity:.42;
  pointer-events:none;
}
.market-fluid-a {
  top:-88px;
  right:-28px;
  background:var(--addon-fluid-a,#dce8ff);
}
.market-fluid-b {
  bottom:-118px;
  left:-38px;
  background:var(--addon-fluid-b,#edf3ff);
}
.market-card[data-addon="brief-studio"],
.market-preview[data-addon-visual="brief-studio"] {
  --addon-accent:#5e56c9;
  --addon-fluid-a:#ddd9ff;
  --addon-fluid-b:#edf0ff;
}
.market-card[data-addon="competitor-watch"],
.market-preview[data-addon-visual="competitor-watch"] {
  --addon-accent:#247f94;
  --addon-fluid-a:#d5f1f4;
  --addon-fluid-b:#e5edf9;
}
.market-card[data-addon="weekly-brief"],
.market-preview[data-addon-visual="weekly-brief"] {
  --addon-accent:#33785f;
  --addon-fluid-a:#d8eee5;
  --addon-fluid-b:#eef4df;
}
.market-card[data-addon="crawler-guard"],
.market-preview[data-addon-visual="crawler-guard"] {
  --addon-accent:#8b6337;
  --addon-fluid-a:#f5e5ca;
  --addon-fluid-b:#e8edf8;
}
.market-card[data-addon="revenue-match"],
.market-preview[data-addon-visual="revenue-match"] {
  --addon-accent:#2f66c8;
  --addon-fluid-a:#d7e5ff;
  --addon-fluid-b:#e4f0f6;
}

.market-window {
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.80);
  border-color:rgba(108,126,158,.17);
  box-shadow:
    0 16px 36px rgba(28,45,78,.06),
    inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter:blur(16px) saturate(1.08);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
}
.market-window::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(128deg,rgba(255,255,255,.55),transparent 30%,transparent 70%,rgba(255,255,255,.22));
  opacity:.75;
}
.market-window > * {
  position:relative;
  z-index:1;
}
.market-window-title {
  min-height:48px;
  padding:10px 14px;
  background:rgba(255,255,255,.34);
}
.market-window-title strong {
  font-size:12px;
  letter-spacing:-.01em;
}
.market-preview-row {
  background:rgba(255,255,255,.22);
}
.market-preview-row i {
  background:color-mix(in srgb,var(--addon-accent) 8%,transparent);
}

.market-logo {
  position:relative;
  isolation:isolate;
  display:inline-grid;
  width:28px;
  height:28px;
  place-items:center;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--addon-accent,#5676c8) 18%,rgba(120,132,154,.18));
  border-radius:9px;
  color:var(--addon-accent,#5676c8);
  background:
    linear-gradient(145deg,rgba(255,255,255,.92),rgba(244,248,255,.62));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    0 5px 14px rgba(30,50,88,.06);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.market-logo.large {
  width:44px;
  height:44px;
  border-radius:13px;
}
.market-logo svg {
  position:relative;
  z-index:2;
  width:18px;
  height:18px;
}
.market-logo.large svg {
  width:26px;
  height:26px;
}
.market-logo svg .accent {
  stroke:color-mix(in srgb,var(--addon-accent,#5676c8) 75%,#fff 25%);
}
.market-logo svg .accent-fill {
  fill:var(--addon-accent,#5676c8);
  stroke:none;
}
.market-logo-glass {
  position:absolute;
  z-index:1;
  inset:-40%;
  background:
    linear-gradient(118deg,transparent 28%,rgba(255,255,255,.75) 43%,rgba(255,255,255,.15) 54%,transparent 68%);
  transform:translateX(-72%) rotate(8deg);
}
.market-card-brand,
.market-product-brand {
  display:flex;
  align-items:center;
  gap:11px;
}
.market-card-brand {
  min-height:44px;
  margin-bottom:10px;
}
.market-card-brand .market-category,
.market-product-brand .market-category {
  color:var(--muted);
}
.market-product-brand {
  margin-bottom:8px;
}

.market-card:hover .market-logo {
  border-color:color-mix(in srgb,var(--addon-accent,#5676c8) 30%,var(--border));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 8px 22px color-mix(in srgb,var(--addon-accent,#5676c8) 10%,transparent);
}
.market-card:hover .market-logo svg {
  transform:scale(1.035);
}
.market-logo svg {
  transition:transform 220ms var(--ease-out);
}

@media(prefers-reduced-motion:no-preference) {
  .market-preview::after {
    animation:market-glass-pass 6.4s ease-in-out infinite;
  }
  .market-fluid-a {
    animation:market-fluid-a 8s ease-in-out infinite alternate;
  }
  .market-fluid-b {
    animation:market-fluid-b 9.5s ease-in-out infinite alternate;
  }
  .market-logo-glass {
    animation:market-logo-pass 4.8s ease-in-out infinite;
  }
}
@keyframes market-glass-pass {
  0%,18% { background-position:130% 50%; opacity:.18; }
  48% { opacity:.65; }
  70%,100% { background-position:-130% 50%; opacity:.16; }
}
@keyframes market-fluid-a {
  from { transform:translate3d(-8px,0,0) scale(.96); }
  to { transform:translate3d(18px,14px,0) scale(1.09); }
}
@keyframes market-fluid-b {
  from { transform:translate3d(0,4px,0) scale(.94); }
  to { transform:translate3d(22px,-10px,0) scale(1.08); }
}
@keyframes market-logo-pass {
  0%,28% { transform:translateX(-72%) rotate(8deg); opacity:0; }
  42% { opacity:.9; }
  68% { transform:translateX(72%) rotate(8deg); opacity:.65; }
  80%,100% { transform:translateX(72%) rotate(8deg); opacity:0; }
}
@media(prefers-reduced-motion:reduce) {
  .market-preview::after,
  .market-fluid-a,
  .market-fluid-b,
  .market-logo-glass {
    animation:none;
  }
}


[data-addon-product="brief-studio"] { --addon-accent:#5e56c9; --addon-fluid-a:#ddd9ff; --addon-fluid-b:#edf0ff; }
[data-addon-product="competitor-watch"] { --addon-accent:#247f94; --addon-fluid-a:#d5f1f4; --addon-fluid-b:#e5edf9; }
[data-addon-product="weekly-brief"] { --addon-accent:#33785f; --addon-fluid-a:#d8eee5; --addon-fluid-b:#eef4df; }
[data-addon-product="crawler-guard"] { --addon-accent:#8b6337; --addon-fluid-a:#f5e5ca; --addon-fluid-b:#e8edf8; }
[data-addon-product="revenue-match"] { --addon-accent:#2f66c8; --addon-fluid-a:#d7e5ff; --addon-fluid-b:#e4f0f6; }
