:root{
  --ink:var(--sa-ink);
  --ink-2:var(--sa-text);
  --ink-3:var(--sa-muted);
  --line:var(--sa-line);
  --bg:var(--sa-bg);
  --bg-soft:var(--sa-surface);
  --brand:var(--sa-brand);
  --brand-dark:var(--sa-brand-hover);
  --brand-soft:var(--sa-brand-soft);
  --loss:var(--sa-loss);
  --loss-soft:var(--sa-loss-soft);
  --gain:var(--sa-gain);
  --gain-soft:var(--sa-gain-soft);
  --pop:var(--sa-accent);
  --pop-line:var(--sa-accent-line);
  --amber:var(--sa-warning);
  --amber-soft:var(--sa-warning-soft);
  --radius:var(--sa-radius-card);
  --radius-lg:var(--sa-radius-panel);
  --shadow-sm:var(--sa-shadow-sm);
  --shadow-md:var(--sa-shadow-md);
  --maxw:var(--sa-container);
  --space-xs:var(--sa-space-1);
  --space-sm:var(--sa-space-2);
  --space-md:var(--sa-space-4);
  --space-lg:var(--sa-space-5);
  --space-xl:var(--sa-space-7);
  --space-2xl:var(--sa-space-9);
  --space-3xl:var(--sa-space-11);
}
.sa-ledger-demo{font:var(--sa-text-body)/var(--sa-leading-body) var(--sa-font-body);letter-spacing:var(--sa-tracking-body);color:var(--sa-ink);text-align:left}
.sa-ledger-demo *{margin:0;padding:0;box-sizing:border-box}
.ledger{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}
.ledger-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--line)}
.ledger-title{font-family:var(--sa-font-display);font-weight:600;font-size:.95rem}
.ledger-tag{padding:var(--space-xs) 10px;border:1px solid var(--line);border-radius:999px;background:var(--bg-soft);color:var(--ink-3);font-size:.74rem;font-weight:600}
.live{display:inline-flex;align-items:center;gap:7px}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--gain);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
.tick{position:relative;height:392px;overflow:hidden}
.tick::before,.tick::after{content:'';position:absolute;z-index:2;left:0;right:0;height:44px;pointer-events:none}
.tick::before{top:0;background:linear-gradient(var(--bg),transparent)}
.tick::after{bottom:0;background:linear-gradient(transparent,var(--bg))}
.tick-track{animation:tickscroll 38s linear infinite;will-change:transform}
.tick:hover .tick-track{animation-play-state:paused}
@keyframes tickscroll{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.trow{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px;border-bottom:1px solid var(--sa-line-soft)}
.trow-name{font-size:.9rem;font-weight:500;color:var(--ink);line-height:1.35}
.trow-price{margin-top:3px;color:var(--ink-3);font-size:.8rem;white-space:nowrap}
.trow-price b{color:var(--ink-2);font-weight:600}
.trow-pct{padding:5px 9px;border-radius:7px;font-family:var(--sa-font-display);font-size:.88rem;font-weight:600;white-space:nowrap}
.pct-up{color:var(--loss);background:var(--loss-soft)}
.pct-down{color:var(--gain);background:var(--gain-soft)}
.ledger-total{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:20px;background:var(--bg-soft)}
.ledger-total span{color:var(--ink-2);font-size:.9rem;font-weight:600}
.ledger-total strong{font-family:var(--sa-font-display);font-size:1.45rem;font-weight:700;color:var(--loss);white-space:nowrap}

.ledger-top{flex-wrap:wrap}
.ledger-total--consequence{flex-direction:column;align-items:flex-start;gap:var(--sa-space-2)}
.ledger-total--consequence strong{white-space:normal;font-size:var(--sa-text-h3);line-height:1.4}
.sync-proof{max-width:var(--sa-container);margin-inline:auto}
.sync-proof figcaption{margin-bottom:var(--sa-space-4);color:var(--ink-3);font-size:var(--sa-text-small);text-align:center}
.sync-email{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg);box-shadow:var(--sa-shadow-lg);overflow:hidden}
.sync-email-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sa-space-5);padding:var(--sa-space-6);background:var(--brand);color:var(--sa-on-dark)}
.sync-email-header p{color:var(--sa-on-dark);font-size:var(--sa-text-small);margin-bottom:var(--sa-space-2)}
.sync-report-date{white-space:nowrap}
.sync-email-header h3{color:var(--sa-on-dark);font-size:var(--sa-text-h2)}
.sync-status{padding:var(--sa-space-2) var(--sa-space-4);border-radius:var(--sa-radius-pill);background:var(--amber-soft);color:var(--amber);font-size:var(--sa-text-small);font-weight:var(--sa-weight-semibold);white-space:nowrap}
.sync-email-body{padding:var(--sa-space-6)}
.sync-event{display:grid;gap:var(--sa-space-3)}
.sync-event>div{display:grid;grid-template-columns:5rem 1fr;gap:var(--sa-space-4)}
.sync-event dt{font-weight:var(--sa-weight-semibold);color:var(--ink)}
.sync-event dd{color:var(--ink-2)}
.sync-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sa-space-4);margin-block:var(--sa-space-6)}
.sync-metric{padding:var(--sa-space-5);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-soft)}
.sync-metric span{display:block;font-size:var(--sa-text-small)}
.sync-metric strong{display:block;margin-top:var(--sa-space-2);font-family:var(--sa-font-display);font-size:var(--sa-text-h2);line-height:var(--sa-leading-display)}
.sync-metric--up{background:var(--gain-soft);color:var(--gain)}
.sync-metric--down{background:var(--loss-soft);color:var(--loss)}
.sync-metric--warning{background:var(--amber-soft);color:var(--amber)}
.sync-table-title{margin-bottom:var(--sa-space-4)}
.sync-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
.sync-table-wrap:focus-visible{outline:3px solid var(--sa-focus);outline-offset:3px}
.sync-table{width:100%;border-collapse:collapse;font-size:var(--sa-text-small);text-align:left}
.sync-table th,.sync-table td{padding:var(--sa-space-4);border-bottom:1px solid var(--line);vertical-align:top}
.sync-table thead{background:var(--bg-soft)}
.sync-table tbody th{font-weight:var(--sa-weight-medium);min-width:13rem}
.sync-table td{white-space:nowrap}
.sync-table tr:last-child td,.sync-table tr:last-child th{border-bottom:0}
.sync-down{color:var(--loss)}
.sync-old-price{color:var(--ink)}
.sync-new-price{color:var(--loss);font-weight:var(--sa-weight-semibold)}
.sync-cell-label{display:none}
.sync-disclosure{margin-top:var(--sa-space-4);font-size:var(--sa-text-small);color:var(--ink-3)}

@media(prefers-reduced-motion:reduce){.tick-track,.live-dot{animation:none}}