/* telemetry-launchkit · recipe.css: neutral defaults for the launch parts and the ticker.
   Retheme with the --lk-* variables (or restyle the .lk-* classes inside your own world). */
:root {
  --lk-ink: #f2efe8; --lk-bg: #141311; --lk-bg-2: #1c1b18; --lk-line: #3a3833; --lk-muted: #a49f94;
  --lk-accent: #ff5a1f; --lk-accent-ink: #120a06;
  --lk-font: inherit; --lk-mono: ui-monospace, "JetBrains Mono", Menlo, monospace;
  --lk-radius: 4px; --lk-key-depth: 4px; --lk-ease: cubic-bezier(.2, .8, .2, 1);
}

/* ---------- copy-CA bar */
.lk-ca { position: relative; display: flex; align-items: stretch; min-height: 48px; font-family: var(--lk-mono); color: var(--lk-ink);
  background: var(--lk-bg); border: 1px solid var(--lk-line); border-radius: var(--lk-radius); }
.lk-ca__label { display: grid; place-items: center; padding: 0 14px; font-weight: 700; letter-spacing: .14em; font-size: 12px; border-right: 1px solid var(--lk-line); color: var(--lk-muted); }
.lk-ca__addr { flex: 1; min-width: 0; display: flex; align-items: center; padding: 0 14px; font-size: 14px; cursor: pointer; user-select: all; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.lk-ca[data-state="prelaunch"] .lk-ca__addr { user-select: none; letter-spacing: .12em; text-transform: uppercase; font-size: 12.5px; color: var(--lk-muted); }
.lk-ca__short { display: none; }
@media (max-width: 720px) { .lk-ca__full { display: none; } .lk-ca__short { display: inline; } }
.lk-ca__btn { display: inline-flex; align-items: center; gap: 8px; padding: 0 18px; min-width: 104px; justify-content: center; border: 0; border-left: 1px solid var(--lk-line);
  background: var(--lk-accent); color: var(--lk-accent-ink); font: 700 12px/1 var(--lk-mono); letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
  border-radius: 0 var(--lk-radius) var(--lk-radius) 0; transition: filter .15s, transform .1s; }
.lk-ca__btn svg, .lk-link__ico svg { width: 15px; height: 15px; display: block; }
.lk-ca__btn:hover { filter: brightness(1.08); }
.lk-ca__btn:active { transform: translateY(1px); }
.lk-ca.is-copied .lk-ca__btn { background: var(--lk-ink); color: var(--lk-bg); }
.lk-ca__msg, .lk-links__msg { position: absolute; left: 0; top: calc(100% + 8px); z-index: 5; max-width: min(460px, 100%); padding: 8px 12px; font: 500 12px/1.45 var(--lk-mono);
  background: var(--lk-ink); color: var(--lk-bg); border-radius: var(--lk-radius); opacity: 0; transform: translateY(-4px); pointer-events: none; transition: opacity .2s, transform .25s var(--lk-ease); }
.lk-ca__msg.is-on, .lk-links__msg.is-on { opacity: 1; transform: none; }
.is-nudged { animation: lk-nudge .42s var(--lk-ease); }
@keyframes lk-nudge { 20% { transform: translateX(-5px); } 45% { transform: translateX(4px); } 70% { transform: translateX(-2px); } }

/* ---------- link keys */
.lk-links { position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.lk-link { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 10px 14px; text-align: left; color: var(--lk-ink); text-decoration: none; cursor: pointer;
  background: var(--lk-bg-2); border: 1px solid var(--lk-line); border-radius: var(--lk-radius); box-shadow: 0 var(--lk-key-depth) 0 var(--lk-line);
  transform: translateY(0); transition: transform .08s, box-shadow .08s, border-color .15s; font: inherit; }
.lk-link:hover { border-color: var(--lk-accent); }
.lk-link:active { transform: translateY(calc(var(--lk-key-depth) - 1px)); box-shadow: 0 1px 0 var(--lk-line); }
.lk-link__txt { display: grid; gap: 2px; min-width: 0; }
.lk-link__txt b { font: 700 14px/1.1 var(--lk-font); letter-spacing: .02em; }
.lk-link__txt small { font: 500 10.5px/1.2 var(--lk-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--lk-muted); }
.lk-link.is-pending { border-style: dashed; }
.lk-link.is-pending .lk-link__txt small { color: var(--lk-accent); }

/* ---------- lazy frame */
.lk-frame { position: relative; min-height: 360px; border: 1px solid var(--lk-line); border-radius: var(--lk-radius); overflow: hidden; background: var(--lk-bg); }
.lk-frame__btn { position: absolute; inset: 0; display: grid; place-content: center; gap: 6px; border: 0; background: transparent; color: var(--lk-ink); cursor: pointer; font: inherit; }
.lk-frame__btn b { font: 700 15px/1 var(--lk-mono); letter-spacing: .16em; text-transform: uppercase; }
.lk-frame__btn small { font: 500 11px/1 var(--lk-mono); color: var(--lk-muted); letter-spacing: .08em; }
.lk-frame__iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ---------- in-page swap (Jupiter plugin, lazy) */
.lk-swap { position: relative; }
.lk-swap__btn { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 52px; padding: 10px 14px; text-align: left; cursor: pointer; font: inherit; color: var(--lk-ink);
  background: var(--lk-bg-2); border: 1px dashed var(--lk-line); border-radius: var(--lk-radius); transition: border-color .15s, background .15s; }
.lk-swap__btn:hover { border-color: var(--lk-accent); }
.lk-swap__btn[hidden], [data-lk-when][hidden] { display: none !important; }
.lk-swap[data-state="loading"] .lk-swap__btn { cursor: progress; }
.lk-swap[data-state="loading"] .lk-link__ico { animation: lk-spin 1s linear infinite; }
.lk-swap[data-state="prelaunch"] .lk-link__txt small, .lk-swap[data-state="failed"] .lk-link__txt small { color: var(--lk-accent); }
.lk-swap[data-state="loaded"] .lk-swap__target { min-height: 520px; }
@keyframes lk-spin { to { transform: rotate(360deg); } }

/* ---------- ticker tape */
.lk-ticker { display: flex; align-items: stretch; min-height: 40px; overflow: hidden; font: 500 12.5px/1 var(--lk-mono); color: var(--lk-ink); background: var(--lk-bg); border-block: 1px solid var(--lk-line); }
.lk-ticker__badge { flex: none; display: grid; place-items: center; padding: 0 14px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 11px; background: var(--lk-accent); color: var(--lk-accent-ink); }
.lk-ticker[data-status="offline"] .lk-ticker__badge, .lk-ticker[data-status="stale"] .lk-ticker__badge { background: var(--lk-line); color: var(--lk-ink); }
.lk-ticker__view { flex: 1; min-width: 0; overflow: hidden; display: flex; align-items: center; -webkit-mask: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent); mask: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent); }
.lk-ticker__track { display: flex; width: max-content; }
.lk-ticker__track.is-running { animation: lk-marquee var(--lk-ticker-dur, 40s) linear infinite; }
.lk-ticker:hover .lk-ticker__track { animation-play-state: paused; }
.lk-ticker__group { display: flex; align-items: center; }
.lk-tick { display: inline-flex; align-items: baseline; gap: 8px; padding: 0 22px; white-space: nowrap; border-right: 1px solid var(--lk-line); }
.lk-tick b { font-weight: 700; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--lk-muted); }
.lk-tick.is-migration b { color: var(--lk-accent); }
.lk-tick i { font-style: normal; font-weight: 700; }
.lk-tick code, .lk-tick time { color: var(--lk-muted); font: inherit; }
.lk-ticker.is-static .lk-ticker__view { overflow-x: auto; }
@keyframes lk-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .lk-ticker__track.is-running, .is-nudged, .lk-swap[data-state="loading"] .lk-link__ico { animation: none; } }
