/* VIRTUALZ — launchpad depth on top of the Codex theme: live data, token/treasury/presence panels. */
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#9fe3c1;box-shadow:0 0 0 0 #9fe3c199;animation:vz-pulse 2.2s infinite;vertical-align:middle;margin-right:7px}
@keyframes vz-pulse{0%{box-shadow:0 0 0 0 #9fe3c188}70%{box-shadow:0 0 0 8px #9fe3c100}100%{box-shadow:0 0 0 0 #9fe3c100}}
.up{color:#a9f0c4}.down{color:#ffb0a8}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* hero feature card: market line */
.feature-market{font:11px var(--mono);color:#e8def4;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.feature-market .up,.feature-market .down{font-size:11px}

/* signal strip = live activity */
.signal-track i.trade{color:#c9f2da;border-color:#9fe3c14d}.signal-track i.fund{color:#ffe3b3;border-color:#f3d36b4d}

/* market cards: richer stats */
.token-live{position:absolute;bottom:12px;left:12px;font:10px var(--mono);letter-spacing:.08em;color:#e9f7ee;display:flex;align-items:center}
.token-live.sleeping{color:#d9d0e4}.token-live.sleeping .live-dot{background:#ffffff66;animation:none;box-shadow:none}
.token-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 9px 14px}
.token-metrics span{display:grid;gap:3px;font-size:11px;color:#c4b3d0}
.token-metrics b{font:400 14px var(--mono);color:#f1e8f8}
.token-stat>small.up,.token-stat>small.down{color:inherit}
.token-stat>small.up{color:#a9f0c4}.token-stat>small.down{color:#ffb0a8}
.curve-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:34px 0 16px}
.curve-heading .eyebrow{font-size:11px;letter-spacing:.09em;color:#d0bddf}
.curve-heading h3{font:400 28px var(--serif);margin-top:8px}
.curve-heading>span{font-size:12px;color:#d8c9e4}
.curve-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.curve-card{border:1px solid #ffffff2a;border-radius:18px;background:linear-gradient(130deg,#ffffff0d,#ffffff04);padding:14px;display:grid;gap:12px;text-align:left;color:inherit;transition:transform .4s,border-color .4s}
.curve-card:hover{transform:translateY(-4px);border-color:#e8cfff70}
.curve-top{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center}
.curve-mono{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font:500 18px var(--serif);font-style:italic;border:1px solid #ffffff30;background:linear-gradient(135deg,var(--t1,#c4b5f1),var(--t2,#3a3050));color:#fff;text-shadow:0 1px 8px #0008}
.curve-top>div{min-width:0}.curve-top strong{display:block;font-size:14px;font-weight:400}
.curve-top small{display:block;font:11px var(--mono);color:#c9b8d8;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.curve-top>span{font:11px var(--mono);color:#bfae cf;color:#bfaecf}
.curve-track{height:3px;border-radius:3px;background:#ffffff14;overflow:hidden}.curve-track i{display:block;height:100%;background:linear-gradient(90deg,#969ae1,#e8b7d4)}
.curve-meta{display:flex;justify-content:space-between;font:11px var(--mono);color:#cbb9d8}

/* profile */
.profile-stats{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.profile-stats span{display:grid;gap:3px;padding:10px 14px;border:1px solid #ffffff22;border-radius:14px;background:#ffffff08;min-width:104px}
.profile-stats small{font:10px var(--mono);letter-spacing:.08em;color:#c5b0d4}
.profile-stats b{font:400 18px var(--mono)}
.channel-tags b{font:400 12px var(--mono);margin-left:6px;color:#f1e8f8}
.profile-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px;margin-top:22px}
.profile-card{border-radius:23px;padding:24px;display:grid;gap:16px;align-content:start;min-width:0}
.profile-card>.eyebrow{font-size:11px;letter-spacing:.09em;color:#d0bddf;display:flex;justify-content:space-between;align-items:center;gap:10px}
.pf-price{display:grid;gap:4px}.pf-price b{font:400 40px/1 var(--mono);letter-spacing:-1px}.pf-price span{font-size:13px;color:#d6cce2}
.pf-spark{width:100%;height:60px;display:block}
.pf-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pf-kv div{display:grid;gap:4px;padding:10px 12px;border-radius:14px;background:#ffffff0c;border:1px solid #ffffff18}
.pf-kv small{font:10px var(--mono);letter-spacing:.08em;color:#c5b0d4}.pf-kv b{font:400 14px var(--mono)}
.pf-trade{display:grid;gap:10px;padding:14px;border-radius:18px;background:#2a223a66;border:1px solid #ffffff18}
.pf-side{display:flex;background:#ffffff09;border:1px solid #ffffff20;padding:4px;border-radius:30px;gap:4px}
.pf-side button{flex:1;padding:8px;border-radius:30px;font-size:13px;color:#d8d6e3}.pf-side button.selected{background:#ffffff1f;color:#fff;box-shadow:inset 0 1px 0 #ffffff45}
.pf-amount{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px;border-radius:14px;border:1px solid #ffffff22;background:#1d1829aa}
.pf-amount input{flex:1;min-width:0;border:0;background:none;outline:0;font:400 22px var(--mono);color:#f8f5ff}
.pf-amount span{font:12px var(--mono);color:#d1cbdc}
.pf-quick{display:flex;gap:6px;flex-wrap:wrap}.pf-quick button{font:12px var(--mono);padding:6px 10px;border:1px solid #ffffff33;border-radius:30px;background:#ffffff12;color:#f1e8f8}.pf-quick button.selected{background:#ffffff26}
.pf-est{font:12px var(--mono);color:#b9afc9}
.pf-trade .apply-button{width:100%}
.pf-note{font-size:12px;line-height:1.5;color:#b9afc9}
.pf-balance{display:grid;gap:4px}.pf-balance b{font:400 44px/1 var(--mono);letter-spacing:-1px}.pf-balance span{font-size:12px;color:#c5b0d4}
.pf-bar{display:grid;gap:8px}.pf-bar>i{display:block;height:4px;border-radius:4px;background:#ffffff14;overflow:hidden}.pf-bar>i>b{display:block;height:100%;background:linear-gradient(90deg,#bdadff,#efc1ac)}
.pf-bar span{font:11px var(--mono);color:#b9afc9}
.pf-costs{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:13px;color:#d1cbdc}
.pf-costs li{display:grid;grid-template-columns:1fr 84px 34px;gap:10px;align-items:center}
.pf-costs i{display:block;height:4px;border-radius:4px;background:#ffffff18;overflow:hidden}.pf-costs i b{display:block;height:100%}.pf-costs .mono{text-align:right;color:#aaa4ba;font-size:11px}
.pf-rules{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:13px;color:#d1cbdc;line-height:1.5}
.pf-rules li{display:flex;gap:10px}.pf-rules li::before{content:'◦';color:#e5c2ff}
.pf-socials{display:grid;gap:6px}
.pf-socials a{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:9px 12px;border-radius:14px;border:1px solid #ffffff18;background:#ffffff08;font-size:13px;color:#d1cbdc;transition:background .25s}
.pf-socials a:hover{background:#ffffff14}.pf-socials a svg{width:16px;height:16px}.pf-socials a b{font:400 14px var(--mono);color:#f8f5ff}
.pf-bit{padding:14px 16px;border-radius:16px;border:1px solid #ffffff20;background:#ffffff08;display:grid;gap:6px}
.pf-bit small{font:10px var(--mono);letter-spacing:.08em;color:#c5b0d4}.pf-bit p{font:400 21px/1.15 var(--serif);font-style:italic}
.pf-latest{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.pf-latest figure{margin:0;position:relative;aspect-ratio:9/13;border-radius:12px;overflow:hidden;border:1px solid #ffffff30;background:#392f46}
.pf-latest img{width:100%;height:100%;object-fit:cover;object-position:var(--focus,50% 30%);filter:hue-rotate(calc(var(--i)*14deg)) saturate(.9)}
.pf-latest span{position:absolute;top:6px;left:6px;right:6px;display:flex;justify-content:space-between;font:9px var(--mono);color:#fff;text-shadow:0 1px 6px #000}
.pf-latest figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 7px 6px;font-size:10px;line-height:1.3;background:linear-gradient(transparent,#1b1633d0);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.profile-log{border-radius:23px;padding:10px 12px;margin-top:18px}
.profile-log header{display:flex;justify-content:space-between;align-items:center;padding:12px 10px 8px;font:11px var(--mono);letter-spacing:.09em;color:#d0bddf}
.log-row{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:baseline;padding:13px 10px;border-top:1px solid #ffffff12;font-size:14px;color:#d6cce2}
.log-row .t{font:12px var(--mono);color:#aaa4ba}.log-row .c{font:12px var(--mono);color:#eeb6a4}
.log-row b{font:400 10px var(--mono);letter-spacing:.08em;color:#c5b0d4;margin-right:8px;text-transform:uppercase}
.profile-log footer{padding:14px 10px 8px;font-size:12px;color:#aaa4ba;border-top:1px solid #ffffff12}

/* economy totals */
.econ-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}
.econ-totals>div{border-radius:23px;padding:24px;display:grid;gap:6px}
.econ-totals b{font:400 36px/1 var(--mono);letter-spacing:-1px}.econ-totals span{font-size:13px;color:#aaa4ba}

@media(max-width:1100px){.profile-grid{grid-template-columns:1fr 1fr}.profile-grid>:first-child{grid-column:1/-1}.curve-grid{grid-template-columns:repeat(2,1fr)}.token-metrics b{font-size:13px}}
@media(max-width:760px){.profile-stats{justify-content:flex-start;margin-top:16px}.profile-stats span{min-width:0;flex:1 1 40%}.profile-grid{grid-template-columns:1fr;gap:13px}.profile-card{padding:18px}.pf-price b{font-size:34px}.pf-kv{grid-template-columns:repeat(3,1fr)}.curve-grid{grid-template-columns:1fr}.curve-heading{display:block}.curve-heading>span{display:block;margin-top:10px}.token-metrics{grid-template-columns:repeat(3,1fr);margin:0 5px 12px}.pf-latest{grid-template-columns:repeat(4,1fr)}.log-row{grid-template-columns:44px 1fr;gap:4px 10px}.log-row .c{grid-column:2}.econ-totals{grid-template-columns:1fr}.feature-market{font-size:10px}}
/* overflow guards */
.profile-card,.profile-card>*,.pf-trade,.pf-kv,.pf-kv div,.pf-price,.pf-balance{min-width:0}
.pf-kv{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-kv div{overflow:hidden}.pf-kv b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-est,.pf-note,.pf-bar span{overflow-wrap:anywhere}
.profile-grid{min-width:0}
@media(max-width:760px){.pf-kv b{font-size:12px}.pf-kv div{padding:9px 10px}.pf-amount input{font-size:20px}.pf-price b{font-size:32px}.pf-balance b{font-size:38px}}
/* live board additions */
.market-span{grid-column:1/-1;margin:14px 0 2px}
.token-card.is-showcase .token-status{color:#cbb9d8}
.token-live.warming .live-dot{background:#efc1ac;animation:none;box-shadow:none}.token-live.throttled .live-dot{background:#f3d36b}
.curve-mono[style*="background-image"]{font-size:0}
.pf-latest video{width:100%;height:100%;object-fit:cover;display:block}
.discover-card.is-live .discover-portrait>.eyebrow{color:#c9f2da}
