/* ── TICKER tape (top of page) — v3 Aurora-over-ink design system ──
   Source: hv_oppdatert_design/Homepage.html (E78). Extracted to shared/
   so all 24 sub-pages (and future pages) get the same brand-ticker
   without inline duplication. Single source of truth for hairline,
   marquee, and per-symbol typography. */

aside.ticker-top{
  opacity:0;
  filter:blur(2px);
  transition:opacity 600ms var(--ease-out-quart, cubic-bezier(.25,1,.5,1)),
             filter  600ms var(--ease-out-quart, cubic-bezier(.25,1,.5,1));
  position:relative;
  padding:9px 0;
  background:#0a0a09;
  border-bottom:1px solid var(--line, rgba(255,255,255,.06));
  overflow:hidden;
  z-index:55;
}
aside.ticker-top.live{
  opacity:1;
  filter:blur(0);
}
aside.ticker-top::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg, transparent, rgba(200,153,104,.35), transparent);
  opacity:.6;
}
.ticker-mask{
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 90px, #000 calc(100% - 130px), transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 90px, #000 calc(100% - 130px), transparent 100%);
  overflow:hidden;
}
.ticker-track{
  display:flex;align-items:center;gap:46px;width:max-content;
  animation:tickerScroll 110s linear infinite;
  animation-play-state:paused;
  will-change:transform;
}
aside.ticker-top.live .ticker-track{ animation-play-state: running; }
aside.ticker-top:hover .ticker-track{ animation-play-state: paused; }
@keyframes tickerScroll{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.ti{
  display:inline-flex;align-items:baseline;gap:9px;
  font:500 12.5px/1 var(--font-sans, 'Inter', system-ui, sans-serif);
  color:var(--ink2, #a8a39a);letter-spacing:.1px;white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.ti b{
  color:var(--ink3, #797469);font-weight:600;letter-spacing:1.4px;
  text-transform:uppercase;font-size:10px;
}
.ti .val{
  color:var(--ink, #ececea);font-weight:500;font-size:13px;
  letter-spacing:-.05px;font-family:var(--font-sans, 'Inter', system-ui, sans-serif);
  font-feature-settings:"tnum" 1, "ss01" 1;
}
.ti em{font-style:normal;font-weight:500;font-size:11.5px;letter-spacing:.1px}
.ti em.up{color:var(--pos-soft, rgba(150,180,158,.78))}
.ti em.down{color:var(--neg-soft, rgba(190,150,150,.78))}
.ti em.flat{color:var(--flat-soft, rgba(168,163,154,.65))}
.ti em::before{
  display:inline-block;margin-right:5px;font-size:8.5px;line-height:1;
  transform:translateY(-1px);opacity:.9;
}
.ti em.up::before{content:"\25B2"}
.ti em.down::before{content:"\25BC"}
.ti em.flat::before{content:"\2013";transform:translateY(-2px)}

/* Live badge — small fixed indicator on the right */
.ticker-badge{
  position:absolute;top:50%;right:18px;transform:translateY(-50%);
  display:inline-flex;align-items:center;gap:7px;
  font:600 9.5px/1 var(--font-sans, 'Inter', system-ui, sans-serif);
  letter-spacing:1.6px;text-transform:uppercase;
  color:var(--ink3, #797469);
  padding:4px 9px 4px 8px;
  background:linear-gradient(90deg, transparent, #0a0a09 35%);
  pointer-events:none;
}
.ticker-badge::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:var(--pos, #5fa978);
  box-shadow:0 0 0 0 rgba(95,169,120,0);
}
aside.ticker-top.live .ticker-badge::before{
  animation:tickerLivePulseOnce 720ms var(--ease-out-quart, cubic-bezier(.25,1,.5,1)) 1 forwards;
  animation-delay:200ms;
}
@keyframes tickerLivePulseOnce{
  0%   { box-shadow:0 0 0 0 rgba(95,169,120,.55); }
  70%  { box-shadow:0 0 0 9px rgba(95,169,120,0); }
  100% { box-shadow:0 0 0 0 rgba(95,169,120,0); }
}
@media (max-width:560px){
  aside.ticker-top{padding:7px 0}
  .ticker-track{gap:32px}
  .ti{font-size:11.5px;gap:7px}
  .ti .val{font-size:12px}
  .ticker-badge{display:none}
}
@media (prefers-reduced-motion: reduce){
  aside.ticker-top{ transition:none; opacity:1; filter:none; }
  .ticker-track{ animation:none; }
}
