/* ===== ynet trends — editorial paper aesthetic, RTL, light+dark ===== */

:root {
  --paper: #faf6ef;
  --paper-deep: #f3ecdf;
  --card: #fffdf8;
  --ink: #211d15;
  --muted: #6f6a5e;
  --line: #e7dfd0;
  --red: #c8102e;
  --red-deep: #9f0c24;
  --red-soft: #fbe9ec;
  --green: #1a7f37;
  --amber: #9a6700;
  --shadow: 0 1px 2px rgb(33 29 21 / .05), 0 10px 26px -18px rgb(33 29 21 / .35);
  --shadow-lift: 0 2px 4px rgb(33 29 21 / .06), 0 18px 38px -18px rgb(33 29 21 / .4);
  /* categorical chart palette — validated (dataviz) on this surface */
  --c1: #c8102e; --c2: #1f6feb; --c3: #9a6700; --c4: #8250df; --c5: #1a7f37;
  --grid: #e7dfd0;
  --radius: 14px;
  --font-ui: 'Heebo', system-ui, sans-serif;
  --font-display: 'Frank Ruhl Libre', 'Heebo', serif;
  color-scheme: light;
}

/* Dark theme: follows the OS unless the user picked a theme via the toggle
   (data-theme on <html>, persisted in localStorage). The two blocks below
   must stay identical. */

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --paper: #17181c;
    --paper-deep: #121317;
    --card: #1e2026;
    --ink: #f0ede5;
    --muted: #98948a;
    --line: #2d3038;
    --red: #e04355;
    --red-deep: #c8102e;
    --red-soft: #33161b;
    --green: #2fa672;
    --amber: #ad861c;
    --shadow: 0 1px 2px rgb(0 0 0 / .3), 0 12px 28px -18px rgb(0 0 0 / .8);
    --shadow-lift: 0 2px 4px rgb(0 0 0 / .35), 0 20px 40px -18px rgb(0 0 0 / .85);
    /* dark categorical palette — validated on #17181C */
    --c1: #e04355; --c2: #4c8de8; --c3: #ad861c; --c4: #9c7fe8; --c5: #2fa672;
    --grid: #2d3038;
  }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --paper: #17181c;
  --paper-deep: #121317;
  --card: #1e2026;
  --ink: #f0ede5;
  --muted: #98948a;
  --line: #2d3038;
  --red: #e04355;
  --red-deep: #c8102e;
  --red-soft: #33161b;
  --green: #2fa672;
  --amber: #ad861c;
  --shadow: 0 1px 2px rgb(0 0 0 / .3), 0 12px 28px -18px rgb(0 0 0 / .8);
  --shadow-lift: 0 2px 4px rgb(0 0 0 / .35), 0 20px 40px -18px rgb(0 0 0 / .85);
  --c1: #e04355; --c2: #4c8de8; --c3: #ad861c; --c4: #9c7fe8; --c5: #2fa672;
  --grid: #2d3038;
}

* { box-sizing: border-box; }

[hidden] { display: none !important; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font-ui);
  background:
    radial-gradient(1200px 400px at 85% -100px, rgb(200 16 46 / .05), transparent 70%),
    var(--paper);
  color: var(--ink);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

button { font-family: inherit; cursor: pointer; }

/* ===== masthead ===== */

.masthead {
  background: linear-gradient(115deg, var(--red-deep), var(--red) 55%, #e0233f);
  color: #fff;
  padding: 16px clamp(16px, 4vw, 44px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  box-shadow: 0 4px 24px -10px rgb(159 12 36 / .55);
}

.brand { display: flex; align-items: center; gap: 14px; }

.brand-mark {
  width: 46px; height: 46px;
  background: #fff; color: var(--red-deep);
  border-radius: 12px;
  display: grid; place-items: center;
  box-shadow: inset 0 -2px 0 rgb(0 0 0 / .08), 0 4px 10px -4px rgb(0 0 0 / .4);
}

.brand-text h1 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(22px, 3.4vw, 30px);
  letter-spacing: .3px;
  line-height: 1;
  direction: ltr;
  text-align: right;
}

.brand-text h1 em { font-style: normal; color: #ffd3da; }

.brand-text p { margin: 4px 0 0; font-size: 12.5px; opacity: .88; font-weight: 500; }

.masthead-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.pill {
  border-radius: 999px;
  border: none;
  font-size: 13.5px;
  font-weight: 600;
  padding: 8px 16px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.action-pill { background: #fff; color: var(--red-deep); }
.theme-btn { padding: 8px 12px; font-size: 15px; line-height: 1; }
.theme-btn span { display: inline-block; transition: transform .35s cubic-bezier(.2, .7, .3, 1); }
.theme-btn:active span { transform: rotate(-30deg) scale(.85); }
.action-pill:hover { transform: translateY(-1px); box-shadow: 0 6px 14px -6px rgb(0 0 0 / .45); }
.action-pill:active { transform: translateY(0); }

.live-pill { background: rgb(0 0 0 / .28); color: #fff; font-weight: 500; }

.live-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #4ade80;
  animation: breathe 2.2s ease-in-out infinite;
}
.live-dot.stale { background: #fbbf24; animation: none; }

@keyframes breathe {
  0%, 100% { box-shadow: 0 0 0 0 rgb(74 222 128 / .55); }
  50% { box-shadow: 0 0 0 5px rgb(74 222 128 / 0); }
}

.refresh-icon { transition: transform .3s ease; }
.refreshing .refresh-icon { animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(-360deg); } }

/* ===== tabs bar ===== */

.tabs-bar {
  position: sticky; top: 0; z-index: 40;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding: 12px clamp(16px, 4vw, 44px);
  background: color-mix(in srgb, var(--paper) 86%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}

.geo-toggle {
  display: flex; gap: 3px;
  background: var(--paper-deep);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px;
}

.geo-toggle button {
  border: none; background: transparent; color: var(--muted);
  border-radius: 999px; padding: 6px 14px;
  font-size: 13px; font-weight: 700;
  transition: background .2s ease, color .2s ease;
}
.geo-toggle button.active { background: var(--ink); color: var(--paper); }

.tabs { display: flex; gap: 8px; flex-wrap: wrap; }

.tab {
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink);
  border-radius: 999px;
  padding: 7px 15px;
  font-size: 13.5px;
  font-weight: 600;
  position: relative;
  transition: transform .18s ease, background .2s ease, color .2s ease,
              border-color .2s ease, box-shadow .2s ease;
}
.tab:hover { transform: translateY(-1px); box-shadow: var(--shadow); }
.tab.active {
  background: var(--red); border-color: var(--red); color: #fff;
  box-shadow: 0 6px 16px -8px var(--red);
}

.tab .hot-dot {
  position: absolute; top: -2px; inset-inline-start: -2px;
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--red); border: 2px solid var(--paper);
  animation: breathe-red 2s ease-in-out infinite;
}
.tab.active .hot-dot { display: none; }

@keyframes breathe-red {
  0%, 100% { box-shadow: 0 0 0 0 rgb(200 16 46 / .5); }
  50% { box-shadow: 0 0 0 4px rgb(200 16 46 / 0); }
}

/* ===== main layout ===== */

main {
  max-width: 1120px;
  margin: 0 auto;
  padding: 26px clamp(16px, 4vw, 44px) 90px;
}

.section-head {
  display: flex; align-items: baseline; gap: 12px;
  margin: 34px 0 16px;
}
.section-head:first-child { margin-top: 6px; }

.section-head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(20px, 3vw, 26px);
}

.section-head .kicker {
  font-size: 12px; font-weight: 700; color: var(--red);
  letter-spacing: .4px;
}

.section-head .note { font-size: 12.5px; color: var(--muted); margin-inline-start: auto; }

/* ===== idea cards ===== */

.ideas-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 14px;
}

.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  opacity: 0;
  animation: card-in .5s cubic-bezier(.2, .7, .3, 1) forwards;
  animation-delay: calc(var(--i, 0) * 60ms);
  transition: transform .2s ease, box-shadow .2s ease;
}
.card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }

@keyframes card-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}

.idea-card { padding: 18px 18px 14px; display: flex; flex-direction: column; gap: 10px; }

.idea-top { display: flex; align-items: flex-start; gap: 10px; }

.idea-num {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 26px;
  line-height: 1;
  color: var(--red);
  opacity: .85;
  min-width: 22px;
}

.idea-headline {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18.5px;
  line-height: 1.32;
}

.idea-angle { margin: 0; font-size: 13.5px; color: var(--muted); line-height: 1.55; }

.idea-why {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; font-weight: 600;
  background: var(--paper-deep);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 5px 10px;
  color: var(--ink);
  width: fit-content;
}

.idea-foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: auto; }

.tag {
  font-size: 11.5px; font-weight: 700;
  border-radius: 999px;
  padding: 3px 10px;
  border: 1px solid transparent;
}

.tag-uncovered {
  background: var(--red-soft); color: var(--red);
  border-color: color-mix(in srgb, var(--red) 30%, transparent);
  animation: breathe-red 2.4s ease-in-out infinite;
}

.tag-covered { background: transparent; color: var(--muted); border-color: var(--line); }

.link-pill {
  font-size: 11.5px; font-weight: 600;
  color: var(--muted);
  text-decoration: none;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px 10px;
  max-width: 180px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .15s ease, border-color .15s ease;
}
.link-pill:hover { color: var(--red); border-color: var(--red); }

/* ===== trend cards ===== */

.trends-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 14px;
}

.trend-card { padding: 16px 18px; }

.trend-head { display: flex; align-items: center; gap: 12px; }

.trend-rank {
  font-family: var(--font-display);
  font-weight: 900; font-size: 20px;
  color: var(--muted); opacity: .6;
}

.trend-title {
  margin: 0; flex: 1;
  font-family: var(--font-display);
  font-weight: 800; font-size: 18px;
  line-height: 1.25;
}

.spark-wrap { direction: ltr; }

.trend-meta {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin-top: 10px; font-size: 12.5px; color: var(--muted);
}

.traffic-num { font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }

.delta-up { color: var(--green); font-weight: 700; }
.delta-down { color: var(--red); font-weight: 700; }

.spark-path {
  fill: none;
  stroke: var(--red);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: spark-draw 1.1s cubic-bezier(.4, 0, .2, 1) forwards;
  animation-delay: calc(var(--i, 0) * 60ms + .25s);
}
@keyframes spark-draw { to { stroke-dashoffset: 0; } }

.spark-area { fill: var(--red); opacity: .08; }
.spark-dot { fill: var(--red); stroke: var(--card); stroke-width: 1.5; }

.trend-actions { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }

.chip-btn {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 12px; font-weight: 600;
  transition: all .18s ease;
}
.chip-btn:hover { color: var(--ink); border-color: var(--muted); }
.chip-btn.on { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.chip-btn.expand-btn.open { background: var(--paper-deep); color: var(--ink); }

/* expanded detail */

.trend-detail {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .4s cubic-bezier(.2, .7, .3, 1);
}
.trend-detail.open { grid-template-rows: 1fr; }
.trend-detail > div { overflow: hidden; }

.detail-inner { padding-top: 14px; border-top: 1px dashed var(--line); margin-top: 14px; display: grid; gap: 14px; }

.detail-label { font-size: 11.5px; font-weight: 800; color: var(--muted); letter-spacing: .5px; margin-bottom: 6px; }

.chips { display: flex; gap: 6px; flex-wrap: wrap; }

.q-chip {
  font-size: 12px; font-weight: 600;
  background: var(--paper-deep);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 4px 10px;
}
.q-chip .growth { color: var(--green); font-weight: 800; margin-inline-start: 4px; }
.q-chip .breakout { color: var(--red); font-weight: 800; margin-inline-start: 4px; }

.geo-split { display: grid; grid-template-columns: 96px 1fr; gap: 14px; align-items: start; }

.il-map { direction: ltr; width: 96px; }
.il-map path {
  fill: var(--red);
  stroke: var(--card);
  stroke-width: 2;
  stroke-linejoin: round;
  transition: filter .15s ease;
  cursor: default;
}
.il-map path:hover { filter: brightness(1.18); }
.il-map path.nodata { fill: var(--line); }

.region-bars { display: grid; gap: 6px; }

.region-row {
  display: grid;
  grid-template-columns: 86px 1fr 30px;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}
.region-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.region-track { background: var(--paper-deep); border-radius: 4px; height: 8px; overflow: hidden; direction: ltr; }
.region-fill {
  height: 100%;
  background: var(--red);
  border-radius: 4px;
  width: 0;
  transition: width .8s cubic-bezier(.2, .7, .3, 1);
}
.region-val { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--muted); text-align: left; direction: ltr; }

/* demography */

.demo-grid { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; }

.donut { direction: ltr; }
.donut .seg {
  fill: none; stroke-width: 12; stroke-linecap: butt;
  transition: stroke-dashoffset 1s cubic-bezier(.2, .7, .3, 1);
}
.donut-center {
  font-family: var(--font-ui);
  font-weight: 900; font-size: 15px;
  fill: var(--ink);
}
.donut-sub { font-size: 8px; fill: var(--muted); font-weight: 600; }

.legend { display: flex; gap: 12px; font-size: 12.5px; font-weight: 600; flex-wrap: wrap; }
.legend .swatch { width: 10px; height: 10px; border-radius: 3px; display: inline-block; margin-inline-start: 4px; vertical-align: -1px; }

.age-bars { display: grid; gap: 5px; flex: 1; min-width: 180px; }

.demo-empty, .detail-empty { font-size: 12.5px; color: var(--muted); }

.spinner {
  width: 16px; height: 16px;
  border: 2px solid var(--line);
  border-top-color: var(--red);
  border-radius: 50%;
  animation: spin .7s linear infinite;
  display: inline-block;
  vertical-align: middle;
}

/* ===== skeletons ===== */

.skeleton {
  border-radius: var(--radius);
  background: linear-gradient(100deg, var(--card) 40%, var(--paper-deep) 50%, var(--card) 60%);
  background-size: 220% 100%;
  animation: shimmer 1.4s ease-in-out infinite;
  border: 1px solid var(--line);
}
@keyframes shimmer { to { background-position: -120% 0; } }

/* ===== stats bar ===== */

.stats-bar {
  position: fixed;
  bottom: 0; inset-inline: 0;
  z-index: 30;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 8px 16px;
  font-size: 12px;
  color: var(--muted);
  background: color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter: blur(8px);
  border-top: 1px solid var(--line);
}
.stats-bar b { color: var(--ink); font-variant-numeric: tabular-nums; }

.enriching-chip {
  display: inline-flex; align-items: center; gap: 6px;
  color: var(--amber); font-weight: 700;
}
.enriching-chip .spinner { width: 11px; height: 11px; border-width: 2px; border-top-color: var(--amber); }

/* ===== compare bar & overlay ===== */

.compare-bar {
  position: fixed;
  bottom: 44px;
  inset-inline: 0;
  margin-inline: auto;
  width: fit-content;
  z-index: 50;
  display: flex; align-items: center; gap: 10px;
  background: var(--ink);
  color: var(--paper);
  border-radius: 999px;
  padding: 9px 18px;
  font-size: 13.5px; font-weight: 600;
  box-shadow: var(--shadow-lift);
  animation: pop-in .35s cubic-bezier(.2, .7, .3, 1);
}

.compare-run { background: var(--red); color: #fff; border: none; }
.compare-run:hover { filter: brightness(1.1); }
.compare-clear { background: transparent; color: var(--paper); border: 1px solid color-mix(in srgb, var(--paper) 35%, transparent); }

.overlay {
  position: fixed; inset: 0; z-index: 100;
  display: grid; place-items: center;
  background: rgb(15 12 8 / .55);
  backdrop-filter: blur(6px);
  animation: fade-in .25s ease;
  padding: 18px;
}
@keyframes fade-in { from { opacity: 0; } }

.overlay-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow-lift);
  padding: 26px;
  width: min(760px, 100%);
  max-height: 90vh;
  overflow: auto;
  animation: pop-in .35s cubic-bezier(.2, .7, .3, 1);
}
@keyframes pop-in {
  from { opacity: 0; transform: scale(.94) translateY(10px); }
  to { opacity: 1; transform: none; }
}

.overlay-card h3 {
  margin: 0 0 4px;
  font-family: var(--font-display);
  font-weight: 900; font-size: 24px;
}
.overlay-card .sub { color: var(--muted); font-size: 13px; margin: 0 0 18px; }

.battle-chart { direction: ltr; width: 100%; }
.battle-chart .bline {
  fill: none; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
  stroke-dasharray: 1; stroke-dashoffset: 1;
  animation: spark-draw 1.2s cubic-bezier(.4, 0, .2, 1) forwards;
}
.battle-chart .gridline { stroke: var(--grid); stroke-width: 1; }
.battle-chart .axis-label { font-size: 10px; fill: var(--muted); font-family: var(--font-ui); }

.winner {
  margin-top: 14px;
  background: var(--paper-deep);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 14px; font-weight: 600;
}

.close-x {
  position: absolute; top: 14px; inset-inline-start: 14px;
  border: none; background: var(--paper-deep); color: var(--muted);
  width: 32px; height: 32px; border-radius: 50%;
  font-size: 15px; font-weight: 700;
}
.close-x:hover { color: var(--ink); }

/* ===== login ===== */

.login-overlay { background: rgb(15 12 8 / .6); }

.login-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-lift);
  width: min(380px, 92vw);
  padding: 34px 30px 30px;
  text-align: center;
  animation: pop-in .4s cubic-bezier(.2, .7, .3, 1);
}
.login-card.shake { animation: shake .45s cubic-bezier(.36, .07, .19, .97); }
@keyframes shake {
  10%, 90% { transform: translateX(-2px); }
  20%, 80% { transform: translateX(4px); }
  30%, 50%, 70% { transform: translateX(-7px); }
  40%, 60% { transform: translateX(7px); }
}

.login-mark {
  width: 58px; height: 58px; margin: 0 auto 14px;
  background: linear-gradient(135deg, var(--red-deep), var(--red));
  color: #fff; border-radius: 16px;
  display: grid; place-items: center;
  box-shadow: 0 10px 24px -10px var(--red);
}

.login-card h2 { margin: 0 0 6px; font-family: var(--font-display); font-weight: 900; font-size: 24px; }
.login-card p { margin: 0 0 20px; color: var(--muted); font-size: 13.5px; line-height: 1.5; }

.login-card input {
  width: 100%;
  border: 1.5px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
  text-align: center;
  letter-spacing: 1px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.login-card input:focus {
  outline: none; border-color: var(--red);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--red) 18%, transparent);
}

.login-card button[type="submit"] {
  width: 100%; margin-top: 12px;
  background: var(--red); color: #fff;
  border: none; border-radius: 12px;
  padding: 12px; font-size: 15px; font-weight: 700;
  transition: filter .15s ease, transform .15s ease;
}
.login-card button[type="submit"]:hover { filter: brightness(1.08); }
.login-card button[type="submit"]:disabled { opacity: .6; cursor: wait; }

.login-error { margin-top: 12px; color: var(--red); font-size: 13px; font-weight: 600; }

/* ===== tooltip & toast ===== */

.tooltip {
  position: fixed; z-index: 200;
  background: var(--ink); color: var(--paper);
  font-size: 12px; font-weight: 600;
  border-radius: 8px;
  padding: 5px 10px;
  pointer-events: none;
  white-space: nowrap;
  transform: translate(-50%, calc(-100% - 10px));
  box-shadow: var(--shadow-lift);
}

.toast {
  position: fixed;
  bottom: 60px; inset-inline: 0;
  margin-inline: auto;
  width: fit-content;
  max-width: 90vw;
  z-index: 150;
  background: var(--ink); color: var(--paper);
  border-radius: 12px;
  padding: 11px 20px;
  font-size: 13.5px; font-weight: 600;
  box-shadow: var(--shadow-lift);
  animation: pop-in .3s ease;
}

.error-state {
  text-align: center;
  padding: 60px 20px;
  color: var(--muted);
}
.error-state .big { font-size: 40px; margin-bottom: 10px; }

.fade-swap { animation: fade-swap .35s ease; }
@keyframes fade-swap { from { opacity: 0; transform: translateY(6px); } }

/* ===== responsive ===== */

@media (max-width: 640px) {
  .geo-split { grid-template-columns: 1fr; }
  .il-map { display: none; }
  .masthead-actions { width: 100%; justify-content: flex-start; }
}

/* ===== reduced motion ===== */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  html { scroll-behavior: auto; }
  .card { opacity: 1; }
  .spark-path, .battle-chart .bline { stroke-dashoffset: 0; }
}
