.status-card { position: relative; cursor: help; outline: none; }
.status-card .time-help { position: absolute; right: 0; top: calc(100% + 10px); width: min(360px, 80vw); padding: 15px; background: #e9eee5; color: #10151a; line-height: 1.45; opacity: 0; visibility: hidden; transform: translateY(-5px); transition: .18s; z-index: 4; box-shadow: 0 16px 45px #0008; }
.status-card:hover .time-help, .status-card:focus .time-help { opacity: 1; visibility: visible; transform: none; }
.coin { min-height: 255px; }
.coin-price { margin-top: 26px; }
.holding { border-top: 1px solid var(--line); margin-top: 18px; padding-top: 13px; display: grid; gap: 4px; }
.holding > span { font: 600 9px ui-monospace, monospace; color: var(--muted); text-transform: uppercase; }
.holding strong { font-size: 13px; }
.holding small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.holding.invested strong { color: var(--cyan); }
.trades-link { border: 0; background: none; color: var(--text); font: 600 10px ui-monospace, monospace; padding: 15px 0 0; cursor: pointer; text-transform: uppercase; }
.trades-link span { color: var(--acid); }
.trades-link:disabled { color: #48515a; cursor: default; }
dialog { width: min(850px, calc(100vw - 32px)); max-height: 85vh; overflow: auto; border: 1px solid var(--line); background: #0d1218; color: var(--text); padding: 40px; box-shadow: 0 30px 100px #000b; }
dialog::backdrop { background: #05070bcc; backdrop-filter: blur(7px); }
dialog h2 { font-size: 48px; letter-spacing: -.05em; margin: 0 0 30px; }
.dialog-close { position: absolute; right: 18px; top: 14px; border: 0; background: none; color: var(--text); font-size: 32px; cursor: pointer; }
.trade-row { display: grid; grid-template-columns: 55px 1fr; border-top: 1px solid var(--line); padding: 22px 0; }
.trade-no { color: var(--acid); font: 600 11px ui-monospace, monospace; }
.trade-row dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 0; }
.trade-row dl div { display: grid; gap: 7px; }
.trade-row .wide { grid-column: 1 / -1; }
.trade-row dd { font-size: 13px; }
.empty { color: var(--muted); }
@media (max-width: 600px) { .trade-row dl { grid-template-columns: 1fr 1fr; } .trade-row { grid-template-columns: 32px 1fr; } dialog { padding: 28px 20px; } }
.message-ticker { height: 42px; display: flex; align-items: stretch; border-bottom: 1px solid var(--line); background: #0d1218; overflow: hidden; }
.ticker-label { display: grid; place-items: center; flex: 0 0 auto; padding: 0 20px; background: var(--acid); color: #0a0d12; font: 800 10px ui-monospace, monospace; letter-spacing: .12em; z-index: 2; }
.ticker-window { min-width: 0; flex: 1; overflow: hidden; display: flex; align-items: center; }
.ticker-track { display: flex; align-items: center; gap: 25px; width: max-content; white-space: nowrap; animation: ticker-right-to-left 170s linear infinite; font: 600 10px ui-monospace, monospace; color: var(--muted); }
.ticker-track:hover { animation-play-state: paused; }
.ticker-track b { color: var(--text); }
.ticker-track .buy b { color: var(--acid); }
.ticker-track .sell b { color: var(--down); }
.ticker-track time { color: #69747e; }
.ticker-track i { color: #36414b; font-style: normal; font-size: 7px; }
@keyframes ticker-right-to-left { from { transform: translateX(100vw); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .ticker-track { animation: none; padding-left: 20px; } .ticker-window { overflow-x: auto; } }
