/* MY-Card — card analytics ("performance studio"). Prefix: an- */

.ed .an-head { align-items: end; }
.ed .an-head__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ed .an-range { display: inline-flex; padding: 4px; border-radius: 999px; border: 1px solid var(--rule); background: var(--surface); }
.ed .an-range a { display: inline-flex; align-items: center; gap: 5px; height: 34px; padding: 0 14px; border-radius: 999px; font-size: 0.84rem; font-weight: 540; color: var(--ink-2); text-decoration: none; transition: background 0.2s, color 0.2s; }
.ed .an-range a.is-on { background: var(--ink); color: var(--paper); }
.ed .an-range a.is-locked { color: var(--ink-3); }
.ed .an-range svg { width: 13px; height: 13px; }

/* ---------- Insight hero ---------- */
.ed .an-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: clamp(22px, 3vw, 34px); border-radius: 26px; background: radial-gradient(90% 140% at 100% 0%, rgba(216,184,120,0.22), transparent 60%), linear-gradient(150deg, #1B2B47, #0D1729 70%); color: #F2EEE5; box-shadow: var(--lift-3); margin-bottom: 18px; }
.ed .an-hero__kicker { display: inline-flex; align-items: center; gap: 7px; font-family: var(--mono); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: #D8B878; }
.ed .an-hero__kicker svg { width: 14px; height: 14px; }
.ed .an-hero__insights { display: grid; gap: 8px; margin-top: 12px; }
.ed .an-hero__insights li { font-family: var(--serif); font-size: clamp(1.05rem, 1.8vw, 1.35rem); line-height: 1.4; font-weight: 380; color: #F2EEE5; }
.ed .an-hero__insights li:first-child { font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.ed .an-goal { position: relative; width: 150px; height: 150px; flex-shrink: 0; }
.ed .an-goal svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.ed .an-goal__track { fill: none; stroke: rgba(242,238,229,0.12); stroke-width: 8; }
.ed .an-goal__bar { fill: none; stroke: #D8B878; stroke-width: 8; stroke-linecap: round; stroke-dasharray: var(--p) 100; transition: stroke-dasharray 1.4s var(--ease); }
.ed .an-goal__label { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; gap: 2px; }
.ed .an-goal__label strong { font-family: var(--serif); font-weight: 400; font-size: 1.7rem; line-height: 1; }
.ed .an-goal__label small { font-size: 0.8rem; color: rgba(242,238,229,0.6); }
.ed .an-goal__label span { font-family: var(--mono); font-size: 0.56rem; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(242,238,229,0.55); }
.ed .an-goal__label em { font-style: normal; font-size: 0.72rem; color: #D8B878; max-width: 100px; }

/* ---------- KPIs ---------- */
.ed .an-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid var(--rule); border-radius: 22px; background: var(--surface); overflow: hidden; margin-bottom: 18px; }
.ed .an-kpi { display: grid; gap: 8px; padding: 18px 20px; min-width: 0; }
.ed .an-kpi + .an-kpi { border-left: 1px solid var(--rule-2); }
.ed .an-kpi__label { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3); }
.ed .an-kpi__label svg { width: 13px; height: 13px; }
.ed .an-kpi__value { font-family: var(--serif); font-weight: 380; font-size: clamp(1.9rem, 3vw, 2.6rem); line-height: 1; letter-spacing: -0.02em; }
.ed .an-kpi__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; }
.ed .an-delta { display: inline-flex; align-items: center; gap: 2px; height: 22px; padding: 0 8px; border-radius: 999px; font-size: 0.74rem; font-weight: 600; background: var(--paper-2); color: var(--ink-3); white-space: nowrap; }
.ed .an-delta svg { width: 12px; height: 12px; }
.ed .an-delta.is-up { background: color-mix(in oklab, #2F7A4F 12%, transparent); color: #2F7A4F; }
.ed .an-delta.is-down { background: color-mix(in oklab, #B3402A 12%, transparent); color: #B3402A; }
.ed .an-spark { display: flex; align-items: flex-end; gap: 2px; height: 26px; width: 70px; }
.ed .an-spark i { flex: 1; height: max(2px, var(--h)); border-radius: 2px; background: color-mix(in oklab, var(--accent) 55%, transparent); }
.ed .an-spark i:last-child { background: var(--accent); }

/* ---------- Card grid ---------- */
.ed .an-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ed .an-card { display: grid; gap: 14px; align-content: start; padding: 20px 22px; border-radius: 22px; border: 1px solid var(--rule); background: var(--surface); min-width: 0; }
.ed .an-card--wide { grid-column: span 2; }
.ed .an-card--full { grid-column: 1 / -1; }
.ed .an-card__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ed .an-card__head h2 { display: inline-flex; align-items: center; gap: 8px; font-family: var(--serif); font-weight: 420; font-size: 1.2rem; letter-spacing: -0.01em; }
.ed .an-card__head h2 svg { width: 18px; height: 18px; color: var(--accent); }
.ed .an-card__sub { font-size: 0.8rem; color: var(--ink-3); }
.ed .an-help { display: flex; gap: 6px; align-items: flex-start; font-size: 0.8rem; color: var(--ink-3); line-height: 1.5; }
.ed .an-help svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; }
.ed .an-empty { display: grid; justify-items: center; gap: 8px; padding: 28px 12px; text-align: center; color: var(--ink-3); font-size: 0.9rem; }
.ed .an-empty svg { width: 28px; height: 28px; color: var(--accent); opacity: 0.7; }
.ed .an-empty--row { grid-auto-flow: column; justify-content: start; text-align: left; padding: 12px 0; }
.ed .an-flag { font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif; }
.ed .an-pill { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 999px; background: var(--tint); color: var(--accent); font-size: 0.82rem; font-weight: 600; }
.ed .an-pill svg { width: 14px; height: 14px; }
.ed .an-count { font-family: var(--mono); font-size: 0.8rem; color: var(--ink-3); }

/* ---------- Timeline chart ---------- */
.ed .an-legend { display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; color: var(--ink-3); }
.ed .an-legend i, .ed .an-chart__tip i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-left: 6px; }
.ed .is-v { background: var(--accent); } .ed .is-s { background: #2F7A4F; }
.ed .an-chart { position: relative; color: var(--accent); }
.ed .an-chart__svg { width: 100%; height: clamp(190px, 24vw, 280px); display: block; overflow: visible; cursor: crosshair; }
.ed .an-chart__grid { stroke: var(--rule); stroke-dasharray: 4 6; vector-effect: non-scaling-stroke; }
.ed .an-chart__area { fill: url(#anFillV); opacity: 0; transition: opacity 1s var(--ease) 0.6s; }
.ed .an-chart__v, .ed .an-chart__s { fill: none; stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.8s var(--ease); }
.ed .an-chart__v { stroke: var(--accent); }
.ed .an-chart__s { stroke: #2F7A4F; transition-delay: 0.3s; }
.ed .an-chart.is-drawn .an-chart__v, .ed .an-chart.is-drawn .an-chart__s { stroke-dashoffset: 0; }
.ed .an-chart.is-drawn .an-chart__area { opacity: 1; }
.ed .an-chart__cross { stroke: var(--ink-3); stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; }
.ed .an-chart__dot { fill: var(--surface); stroke: var(--accent); stroke-width: 3; vector-effect: non-scaling-stroke; }
.ed .an-chart__tip { position: absolute; top: 0; transform: translateX(-50%); display: grid; gap: 2px; padding: 8px 12px; border-radius: 12px; background: var(--ink); color: var(--paper); font-size: 0.78rem; pointer-events: none; box-shadow: var(--lift-2); white-space: nowrap; }
.ed .an-chart__tip b { font-weight: 600; }
.ed .an-chart__tip i { margin: 0 6px 0 0; }
.ed .an-chart__axis { position: relative; height: 18px; font-family: var(--mono); font-size: 0.66rem; color: var(--ink-3); }
.ed .an-chart__axis span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.ed .an-chart__axis span:first-child { transform: none; }
.ed .an-chart__axis span:last-child { transform: translateX(-100%); }

/* ---------- Funnel ---------- */
.ed .an-funnel { display: grid; gap: 10px; }
.ed .an-funnel li { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.ed .an-funnel__bar { grid-column: 1 / -1; display: flex; align-items: center; height: 38px; width: var(--w); min-width: 38px; padding-left: 12px; border-radius: 10px; background: linear-gradient(90deg, var(--accent), color-mix(in oklab, var(--accent) 55%, transparent)); color: #0D1729; transition: width 1s var(--ease); }
.ed .an-funnel li:nth-child(2) .an-funnel__bar { background: linear-gradient(90deg, #C79E55, color-mix(in oklab, #C79E55 55%, transparent)); }
.ed .an-funnel li:nth-child(3) .an-funnel__bar { background: linear-gradient(90deg, #2F7A4F, color-mix(in oklab, #2F7A4F 55%, transparent)); color: #fff; }
.ed .an-funnel li:nth-child(4) .an-funnel__bar { background: linear-gradient(90deg, #16243D, color-mix(in oklab, #16243D 60%, transparent)); color: #D8B878; }
.ed .an-funnel__bar svg { width: 16px; height: 16px; }
.ed .an-funnel__txt { font-size: 0.86rem; color: var(--ink-2); }
.ed .an-funnel__txt strong { font-family: var(--serif); font-weight: 420; font-size: 1.15rem; color: var(--ink); margin-right: 4px; }
.ed .an-funnel__step { font-family: var(--mono); font-size: 0.72rem; color: var(--ink-3); }

/* ---------- Map + places ---------- */
.ed .an-map { width: 100%; height: clamp(240px, 30vw, 360px); }
.ed .an-map .jvm-zoom-btn { background: var(--ink); color: var(--paper); border-radius: 8px; width: 24px; height: 24px; line-height: 22px; font-size: 16px; left: 8px; }
.ed .an-map .jvm-zoom-btn.jvm-zoomout { top: 38px; }
.ed .jvm-tooltip { background: var(--ink); color: var(--paper); border-radius: 10px; font-family: var(--sans); font-size: 0.8rem; padding: 6px 10px; box-shadow: var(--lift-2); }
.ed .an-rank { display: grid; gap: 10px; }
.ed .an-rank li { display: grid; grid-template-columns: minmax(0, 8.5em) minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 0.88rem; }
.ed .an-rank__k { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-2); }
.ed .an-rank__bar { height: 6px; border-radius: 999px; background: var(--rule-2); overflow: hidden; }
.ed .an-rank__bar i { display: block; height: 100%; width: var(--w); border-radius: inherit; background: var(--accent); }
.ed .an-rank b, .ed .an-links b { font-family: var(--mono); font-weight: 500; font-size: 0.8rem; }
.ed .an-sub { font-size: 0.8rem; font-weight: 600; color: var(--ink-2); margin-top: 4px; }
.ed .an-sub span { font-weight: 400; color: var(--ink-3); font-size: 0.74rem; }
.ed .an-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ed .an-chips li { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--rule); font-size: 0.8rem; color: var(--ink-2); }
.ed .an-chips b { font-family: var(--mono); font-weight: 500; font-size: 0.72rem; color: var(--ink-3); }

/* ---------- Sources ---------- */
.ed .an-src { display: grid; gap: 12px; }
.ed .an-src li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; align-items: center; }
.ed .an-src__ico { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--paper-2); color: var(--ink-2); }
.ed .an-src__ico svg { width: 17px; height: 17px; }
.ed .an-src--qr .an-src__ico { background: #16243D; color: #D8B878; }
.ed .an-src--nfc .an-src__ico { background: var(--tint); color: var(--accent); }
.ed .an-src--whatsapp .an-src__ico { background: #E3F6EA; color: #1C8B4E; }
.ed .an-src--facebook .an-src__ico, .ed .an-src--messenger .an-src__ico { background: #E6EEFB; color: #1760D6; }
.ed .an-src--instagram .an-src__ico { background: #FBE7F0; color: #C1357A; }
.ed .an-src--linkedin .an-src__ico { background: #E4EEF8; color: #0A66C2; }
.ed .an-src__body { display: grid; gap: 6px; min-width: 0; }
.ed .an-src__top { display: flex; justify-content: space-between; gap: 8px; font-size: 0.9rem; }
.ed .an-src__top strong { font-weight: 560; }
.ed .an-src__top b { font-family: var(--mono); font-weight: 500; font-size: 0.8rem; color: var(--ink-2); }
.ed .an-src__bar { height: 6px; border-radius: 999px; background: var(--rule-2); overflow: hidden; }
.ed .an-src__bar i { display: block; height: 100%; width: var(--w); background: var(--ink); border-radius: inherit; }

/* ---------- Heatmap ---------- */
.ed .an-heat { display: grid; gap: 3px; overflow-x: auto; padding-bottom: 4px; }
.ed .an-heat__hours, .ed .an-heat__row { display: grid; grid-template-columns: 36px repeat(24, minmax(12px, 1fr)); gap: 3px; align-items: center; min-width: 420px; }
.ed .an-heat__hours span { font-family: var(--mono); font-size: 0.58rem; color: var(--ink-3); }
.ed .an-heat__day { font-size: 0.72rem; color: var(--ink-3); }
.ed .an-heat__row i { aspect-ratio: 1; border-radius: 4px; background: var(--rule-2); }
.ed .an-heat__row i.l1 { background: color-mix(in oklab, var(--accent) 25%, transparent); }
.ed .an-heat__row i.l2 { background: color-mix(in oklab, var(--accent) 50%, transparent); }
.ed .an-heat__row i.l3 { background: color-mix(in oklab, var(--accent) 75%, transparent); }
.ed .an-heat__row i.l4 { background: var(--accent); }

/* ---------- Leads ---------- */
.ed .an-leads { display: grid; }
.ed .an-lead { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--rule-2); }
.ed .an-lead:first-child { border-top: 0; }
.ed .an-lead__av { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--tint); color: var(--accent); font-family: var(--serif); }
.ed .an-lead__body { display: grid; min-width: 0; }
.ed .an-lead__body strong { font-weight: 580; }
.ed .an-lead__body small { font-size: 0.8rem; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ed .an-lead__acts { display: flex; align-items: center; gap: 4px; }
.ed .an-lead__acts form { margin: 0 0 0 4px; }
.ed .an-lead__wa { color: #1C8B4E; }
.ed .an-lead.is-done .an-lead__body strong { color: var(--ink-3); }
.ed .an-lead .ed-btn.is-done { color: #2F7A4F; border-color: color-mix(in oklab, #2F7A4F 35%, var(--rule)); }

/* ---------- Links / audience / milestones / feed ---------- */
.ed .an-links { display: grid; gap: 10px; }
.ed .an-links li { display: grid; grid-template-columns: 18px 18px minmax(0, 6.5em) minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 0.88rem; }
.ed .an-links__n { font-family: var(--mono); font-size: 0.72rem; color: var(--ink-3); }
.ed .an-links li > svg { width: 16px; height: 16px; color: var(--accent); }
.ed .an-links__k { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ed .an-aud { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center; }
.ed .an-donut { width: 112px; height: 112px; border-radius: 50%; background: conic-gradient(var(--g)); display: grid; place-items: center; }
.ed .an-donut > span { width: 74px; height: 74px; border-radius: 50%; background: var(--surface); display: grid; place-content: center; text-align: center; }
.ed .an-donut b { font-family: var(--serif); font-weight: 420; font-size: 1.25rem; line-height: 1; }
.ed .an-donut small { font-size: 0.66rem; color: var(--ink-3); }
.ed .an-legend-list { display: grid; gap: 8px; }
.ed .an-legend-list li { display: flex; align-items: center; gap: 8px; font-size: 0.86rem; color: var(--ink-2); }
.ed .an-legend-list i { width: 10px; height: 10px; border-radius: 3px; }
.ed .an-legend-list b { margin-left: auto; font-family: var(--mono); font-weight: 500; font-size: 0.8rem; color: var(--ink); }
.ed .an-aud__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.ed .an-aud__tags span { height: 28px; display: inline-flex; align-items: center; gap: 5px; padding: 0 10px; border-radius: 999px; background: var(--paper-2); font-size: 0.76rem; color: var(--ink-2); }
.ed .an-aud__tags b { font-family: var(--mono); font-weight: 500; font-size: 0.7rem; color: var(--ink-3); }
.ed .an-badges { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px 6px; }
.ed .an-badges li { display: grid; justify-items: center; gap: 6px; text-align: center; }
.ed .an-badges li > span { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; border: 1.5px dashed var(--rule); color: var(--ink-3); opacity: 0.55; }
.ed .an-badges li.is-done > span { opacity: 1; border: 0; background: radial-gradient(circle at 30% 25%, #F1DCA7, #B68A3E); color: #0D1729; box-shadow: 0 6px 14px -6px rgba(150,112,47,0.7); }
.ed .an-badges svg { width: 19px; height: 19px; }
.ed .an-badges small { font-size: 0.66rem; line-height: 1.25; color: var(--ink-3); }
.ed .an-badges li.is-done small { color: var(--ink-2); }
.ed .an-live { width: 9px; height: 9px; border-radius: 50%; background: #2F7A4F; box-shadow: 0 0 0 0 rgba(47,122,79,0.5); animation: anPulse 2s infinite; }
@keyframes anPulse { 70% { box-shadow: 0 0 0 10px rgba(47,122,79,0); } 100% { box-shadow: 0 0 0 0 rgba(47,122,79,0); } }
.ed .an-feed { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.ed .an-feed li { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--rule-2); }
.ed .an-feed__ico { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: var(--paper-2); color: var(--ink-2); }
.ed .an-feed__ico svg { width: 16px; height: 16px; }
.ed .an-feed__ico--save { background: color-mix(in oklab, #2F7A4F 12%, transparent); color: #2F7A4F; }
.ed .an-feed__ico--click { background: var(--tint); color: var(--accent); }
.ed .an-feed__body { display: grid; min-width: 0; }
.ed .an-feed__body strong { font-weight: 540; font-size: 0.9rem; }
.ed .an-feed__body small { font-size: 0.78rem; color: var(--ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ed .an-feed time { font-family: var(--mono); font-size: 0.7rem; color: var(--ink-3); white-space: nowrap; }
.ed .an-capnote { margin-top: 16px; }

/* ---------- Dark mode tweaks ---------- */
html[data-ed-theme="dark"] .ed .an-src--whatsapp .an-src__ico { background: rgba(28,139,78,0.18); }
html[data-ed-theme="dark"] .ed .an-src--facebook .an-src__ico, html[data-ed-theme="dark"] .ed .an-src--messenger .an-src__ico,
html[data-ed-theme="dark"] .ed .an-src--linkedin .an-src__ico { background: rgba(23,96,214,0.2); color: #7FA8F0; }
html[data-ed-theme="dark"] .ed .an-src--instagram .an-src__ico { background: rgba(193,53,122,0.2); }
html[data-ed-theme="dark"] .ed .an-src__bar i { background: var(--brand); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .ed .an-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ed .an-kpi:nth-child(4) { border-left: 0; }
  .ed .an-kpi:nth-child(n+4) { border-top: 1px solid var(--rule-2); }
  .ed .an-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ed .an-card--wide { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .ed .an-hero { grid-template-columns: minmax(0, 1fr); }
  .ed .an-goal { width: 120px; height: 120px; justify-self: start; }
  .ed .an-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ed .an-kpi { border-left: 0 !important; border-top: 1px solid var(--rule-2); padding: 14px 16px; }
  .ed .an-kpi:nth-child(-n+2) { border-top: 0; }
  .ed .an-kpi:nth-child(even) { border-left: 1px solid var(--rule-2) !important; }
  .ed .an-grid { grid-template-columns: minmax(0, 1fr); }
  .ed .an-card { padding: 16px; }
  .ed .an-feed { grid-template-columns: minmax(0, 1fr); }
  .ed .an-lead { grid-template-columns: 40px minmax(0, 1fr); }
  .ed .an-lead__acts { grid-column: 2; flex-wrap: wrap; }
  .ed .an-head__tools { width: 100%; }
  .ed .an-range { flex: 1; }
  .ed .an-range a { flex: 1; justify-content: center; padding: 0 8px; }
  .ed .an-badges { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ---------- PDF report (print) ---------- */
@media print {
  @page { margin: 12mm; }
  .ed .dash-sidebar, .ed .ed-appbar, .ed .dash-topbar, .ed .mnav, .ed .an-head__tools, .ed .an-lead__acts, .ed .ed-btn, .ed .jvm-zoom-btn, .ed .dash-scrim { display: none !important; }
  .ed .dash-shell, .ed .dash-main { display: block !important; margin: 0 !important; padding: 0 !important; }
  .ed body, .ed { background: #fff !important; }
  .ed .an-card, .ed .an-kpis { break-inside: avoid; box-shadow: none; }
  .ed .an-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ed .an-card--wide, .ed .an-card--full { grid-column: 1 / -1; }
  .ed .an-hero { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .ed .an-chart__v, .ed .an-chart__s { stroke-dashoffset: 0 !important; }
  .ed .an-chart__area { opacity: 1 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .ed .an-chart__v, .ed .an-chart__s { stroke-dashoffset: 0; transition: none; }
  .ed .an-chart__area { opacity: 1; transition: none; }
  .ed .an-live { animation: none; }
}

/* ---------- You vs average ---------- */
.ed .an-cmp { display: grid; gap: 16px; }
.ed .an-cmp li { display: grid; gap: 7px; }
.ed .an-cmp__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 0.9rem; }
.ed .an-cmp__top strong { font-weight: 560; }
.ed .an-cmp__badge { height: 24px; display: inline-flex; align-items: center; padding: 0 9px; border-radius: 999px; font-size: 0.74rem; font-weight: 600; background: var(--paper-2); color: var(--ink-3); }
.ed .an-cmp__badge.is-ahead { background: color-mix(in oklab, #2F7A4F 12%, transparent); color: #2F7A4F; }
.ed .an-cmp__row { display: grid; grid-template-columns: 4.6em minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 0.8rem; }
.ed .an-cmp__row em { font-style: normal; color: var(--ink-3); }
.ed .an-cmp__row b { font-family: var(--mono); font-weight: 500; font-size: 0.8rem; }
.ed .an-cmp__bar { height: 10px; border-radius: 999px; background: var(--rule-2); overflow: hidden; }
.ed .an-cmp__bar i { display: block; height: 100%; width: var(--w); border-radius: inherit; background: var(--ink-3); }
.ed .an-cmp__bar.is-me i { background: linear-gradient(90deg, var(--accent), #C79E55); }

/* ---------- Story modal ---------- */
.ed .an-story .ed-modal__box { max-width: 460px; display: grid; gap: 12px; }
.ed .an-story h2 { font-family: var(--serif); font-weight: 420; font-size: 1.5rem; padding-right: 40px; }
.ed .an-story__frame { border-radius: 18px; overflow: hidden; box-shadow: var(--lift-3); background: #0D1729; }
.ed .an-story__frame canvas { display: block; width: 100%; height: auto; max-height: 58vh; object-fit: contain; }
.ed .an-story__acts { display: flex; gap: 8px; }
.ed .an-story__acts .ed-btn { flex: 1; justify-content: center; }
.ed .an-card--full .an-badges { grid-template-columns: repeat(10, minmax(0, 1fr)); }
.ed .an-more { justify-self: start; }
@media (max-width: 900px) { .ed .an-card--full .an-badges { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ed .an-lead[hidden] { display: none; }
.ed .an-chart__tip[hidden] { display: none; }
.ed .an-hero__live { align-self: start; }
.ed .lp-studio .an-hero { margin-top: 0; }
.ed .lp-studio .an-grid > section:last-child { grid-column: 1 / -1; }
