/* ==========================================
   ULTRAKIT CRYPTO PRICE TICKER
   ========================================== */
.ultrakit-cpt-wrapper { --cpt-up: #16c784; --cpt-dn: #ea3943; --cpt-a: #6c5ce7; --cpt-r: 16px; --cpt-cols: 4; --cpt-speed: 40s; --cpt-bg: #14142b; --cpt-cd: #1d1d3a; --cpt-tx: #ffffff; --cpt-mu: #9b9bbd; --cpt-bd: rgba(255,255,255,0.08); width: 100%; box-sizing: border-box; font-family: inherit; color: var(--cpt-tx); }
.ultrakit-cpt-wrapper *, .ultrakit-cpt-wrapper *::before, .ultrakit-cpt-wrapper *::after { box-sizing: border-box; }
.cpt-skin-light { --cpt-bg: #ffffff; --cpt-cd: #f6f6fc; --cpt-tx: #1a1a2e; --cpt-mu: #6b6b85; --cpt-bd: #e8e8f2; }
.cpt-skin-glass { --cpt-bg: linear-gradient(135deg, #2b1f6b, #0f3c73 60%, #0b2a52); --cpt-cd: rgba(255,255,255,0.09); --cpt-bd: rgba(255,255,255,0.16); }
.ultrakit-cpt-wrapper { background: var(--cpt-bg); border-radius: var(--cpt-r); }
.cpt-l-cards, .cpt-l-table, .cpt-l-chips { padding: 26px; }
.cpt-skin-light.cpt-l-cards, .cpt-skin-light.cpt-l-table, .cpt-skin-light.cpt-l-chips { border: 1.5px solid var(--cpt-bd); box-shadow: 0 12px 38px rgba(20,20,50,0.06); }

.ultrakit-cpt-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.ultrakit-cpt-title { margin: 0; font-size: 20px; font-weight: 800; color: var(--cpt-tx); }
.ultrakit-cpt-status { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 700; color: var(--cpt-mu); }
.ultrakit-cpt-live { width: 9px; height: 9px; border-radius: 50%; background: var(--cpt-up); box-shadow: 0 0 0 0 color-mix(in srgb, var(--cpt-up) 60%, transparent); animation: ukCptPulse 1.8s infinite; }
@keyframes ukCptPulse { 70% { box-shadow: 0 0 0 9px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.ultrakit-cpt-note { margin: 18px 0 0; font-size: 11.5px; color: var(--cpt-mu); }

/* coin base */
.ultrakit-cpt-coin { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ultrakit-cpt-logo { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.ultrakit-cpt-logo.is-letter { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--cpt-a), #a29bfe); color: #ffffff; font-size: 15px; font-weight: 800; }
.ultrakit-cpt-id { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.ultrakit-cpt-sym { font-size: 15px; font-weight: 800; }
.ultrakit-cpt-name { font-size: 12px; color: var(--cpt-mu); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ultrakit-cpt-price { font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; border-radius: 6px; padding: 1px 4px; margin: -1px -4px; transition: background 0.6s ease; }
.ultrakit-cpt-price.flash-up { background: color-mix(in srgb, var(--cpt-up) 35%, transparent); transition: none; }
.ultrakit-cpt-price.flash-down { background: color-mix(in srgb, var(--cpt-dn) 35%, transparent); transition: none; }
.ultrakit-cpt-chg { display: inline-flex; align-items: center; gap: 3px; font-size: 13px; font-weight: 800; }
.ultrakit-cpt-chg i { font-style: normal; font-size: 9px; }
.ultrakit-cpt-chg em { font-style: normal; }
.is-up .ultrakit-cpt-chg, .is-up .ultrakit-cpt-spark { color: var(--cpt-up); }
.is-down .ultrakit-cpt-chg, .is-down .ultrakit-cpt-spark { color: var(--cpt-dn); }
.ultrakit-cpt-sparkwrap { display: inline-flex; width: 78px; height: 30px; }
.ultrakit-cpt-spark { width: 100%; height: 100%; display: block; }
.ultrakit-cpt-cap { font-size: 13px; font-weight: 700; color: var(--cpt-mu); }
.ultrakit-cpt-cap small { font-size: 11px; font-weight: 600; margin-right: 3px; }

/* ticker */
.cpt-l-ticker { overflow: hidden; padding: 0; border-radius: var(--cpt-r); }
.ultrakit-cpt-marquee { overflow: hidden; }
.ultrakit-cpt-strip { display: flex; width: max-content; animation: ukCptScroll var(--cpt-speed) linear infinite; }
.cpt-rev .ultrakit-cpt-strip { animation-direction: reverse; }
.cpt-l-ticker:hover .ultrakit-cpt-strip { animation-play-state: paused; }
.ultrakit-cpt-set { display: flex; flex-shrink: 0; }
.cpt-l-ticker .ultrakit-cpt-coin { padding: 14px 30px; border-right: 1px solid var(--cpt-bd); white-space: nowrap; }
.cpt-l-ticker .ultrakit-cpt-id { flex-direction: row; align-items: baseline; gap: 8px; }
.cpt-l-ticker .ultrakit-cpt-logo { flex-basis: 26px; width: 26px; height: 26px; }
.cpt-l-ticker .ultrakit-cpt-cap { display: none; }
.cpt-l-ticker .ultrakit-cpt-sparkwrap { width: 56px; height: 22px; }
@keyframes ukCptScroll { to { transform: translateX(-50%); } }

/* cards */
.cpt-l-cards .ultrakit-cpt-list { display: grid; grid-template-columns: repeat(var(--cpt-cols), minmax(0, 1fr)); gap: 16px; }
.cpt-l-cards .ultrakit-cpt-coin { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "logo id chg" "spark spark spark" "price price price" "cap cap cap"; gap: 10px 12px; align-items: center; padding: 20px; background: var(--cpt-cd); border: 1px solid var(--cpt-bd); border-radius: calc(var(--cpt-r) * 0.9); transition: transform 0.3s ease, border-color 0.3s ease; }
.cpt-l-cards .ultrakit-cpt-coin:hover { transform: translateY(-4px); border-color: var(--cpt-a); }
.cpt-l-cards .ultrakit-cpt-logo { grid-area: logo; }
.cpt-l-cards .ultrakit-cpt-id { grid-area: id; }
.cpt-l-cards .ultrakit-cpt-chg { grid-area: chg; padding: 4px 10px; border-radius: 30px; background: color-mix(in srgb, currentColor 14%, transparent); }
.cpt-l-cards .ultrakit-cpt-sparkwrap { grid-area: spark; width: 100%; height: 44px; }
.cpt-l-cards .ultrakit-cpt-price { grid-area: price; font-size: 24px; letter-spacing: -0.5px; justify-self: start; }
.cpt-l-cards .ultrakit-cpt-cap { grid-area: cap; }

/* table */
.ultrakit-cpt-tablehead { display: none; }
.cpt-l-table .ultrakit-cpt-tablehead, .cpt-l-table .ultrakit-cpt-coin { display: grid; grid-template-columns: 2.2fr 1.3fr 1fr 1.4fr 1fr; gap: 14px; align-items: center; padding: 14px 18px; }
.cpt-l-table .ultrakit-cpt-tablehead { font-size: 11.5px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: var(--cpt-mu); border-bottom: 1px solid var(--cpt-bd); }
.cpt-l-table .ultrakit-cpt-coin { border-bottom: 1px solid var(--cpt-bd); transition: background 0.25s ease; }
.cpt-l-table .ultrakit-cpt-coin:hover { background: var(--cpt-cd); }
.cpt-l-table .ultrakit-cpt-coin > .ultrakit-cpt-logo { display: none; }
.cpt-l-table .ultrakit-cpt-id { flex-direction: row; align-items: center; gap: 10px; grid-column: 1; }
.cpt-l-table .ultrakit-cpt-coin { grid-template-areas: none; }
.cpt-l-table .ultrakit-cpt-sparkwrap { order: 5; width: 100%; }
.cpt-l-table .ultrakit-cpt-price { order: 2; justify-self: start; }
.cpt-l-table .ultrakit-cpt-chg { order: 3; }
.cpt-l-table .ultrakit-cpt-cap { order: 4; }
.cpt-l-table .ultrakit-cpt-cap small { display: none; }

/* chips */
.cpt-l-chips .ultrakit-cpt-list { display: flex; flex-wrap: wrap; gap: 10px; }
.cpt-l-chips .ultrakit-cpt-coin { gap: 10px; padding: 8px 16px 8px 8px; background: var(--cpt-cd); border: 1px solid var(--cpt-bd); border-radius: 60px; }
.cpt-l-chips .ultrakit-cpt-logo { flex-basis: 30px; width: 30px; height: 30px; }
.cpt-l-chips .ultrakit-cpt-id { flex-direction: row; gap: 6px; align-items: baseline; }
.cpt-l-chips .ultrakit-cpt-name, .cpt-l-chips .ultrakit-cpt-cap, .cpt-l-chips .ultrakit-cpt-sparkwrap { display: none; }
.cpt-l-chips .ultrakit-cpt-price { font-size: 14px; }
.cpt-l-chips .ultrakit-cpt-chg { font-size: 12px; }

@media (max-width: 767px) {
	.cpt-l-cards, .cpt-l-table, .cpt-l-chips { padding: 18px 14px; }
	.cpt-l-table .ultrakit-cpt-tablehead { display: none; }
	.cpt-l-table .ultrakit-cpt-coin { grid-template-columns: 1fr 1fr; }
	.cpt-l-table .ultrakit-cpt-id { grid-column: 1 / -1; }
	.cpt-l-table .ultrakit-cpt-sparkwrap { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .ultrakit-cpt-strip { animation-duration: 240s; } }
