/* gold.fast.css — loaded async, keep it lean */
:root{--line:#1e2a40;--rail:#0c1322;--text:#e6edf7;--muted:#94a3b8;--gold:#f8d34a}

/* Micro-interactions (transform-only where possible) */
@media (prefers-reduced-motion:no-preference){
  .btn{transition:transform .12s ease,filter .12s ease}
  .btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
  .reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
  .reveal.in{opacity:1;transform:none}
  .chip{transition:transform .15s ease,filter .15s ease}
  .chip:hover{transform:translateY(-1px)}
  .ticker-track{animation:ticker 22s linear infinite}
  @keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
}
@media (prefers-reduced-motion:reduce){
  .ticker-track{animation:none}
}

/* Ripple */
.ripple{position:relative;overflow:hidden}
.ripple-ink{position:absolute;border-radius:999px;transform:scale(0);animation:ripple .6s ease forwards;background:rgba(255,255,255,.35);pointer-events:none}
@keyframes ripple{to{transform:scale(2.5);opacity:0}}
.chip.pulse{animation:pulse .35s ease}@keyframes pulse{50%{transform:scale(1.06)}}

/* Tilt (enabled only for hover-capable devices via JS) */
.tilt{transform:perspective(800px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:box-shadow .2s ease}

/* Fine-tuning */
.icon{filter:drop-shadow(0 1px 0 rgba(0,0,0,.15))}
.glyph{filter:drop-shadow(0 1px 0 rgba(0,0,0,.2))}

/* Keep ticker content single-line */
.quote{white-space:nowrap;opacity:.95}

/* Ensure inputs look crisp */
input,button{font:inherit}

/* Utility */
.hidden{display:none!important}
