/* JARVIS polish layer: presets, motion, buttons, type, explain modes */
body[data-vnext-hud="aurora-borealis"] #jarvisVNext,body[data-vnext-hud="aurora-borealis"] #vnextBottomNav{--vn-cyan:#5effc8;--vn-amber:#b28cff;--vn-line:rgba(94,255,200,.2)}
body[data-vnext-hud="synthwave-sunset"] #jarvisVNext,body[data-vnext-hud="synthwave-sunset"] #vnextBottomNav{--vn-cyan:#ff6ec7;--vn-amber:#ffb86b;--vn-line:rgba(255,110,199,.22)}
body[data-vnext-hud="deep-abyss"] #jarvisVNext,body[data-vnext-hud="deep-abyss"] #vnextBottomNav{--vn-cyan:#3fa9ff;--vn-amber:#6af0ff;--vn-line:rgba(63,169,255,.2)}
body[data-vnext-hud="rose-quartz"] #jarvisVNext,body[data-vnext-hud="rose-quartz"] #vnextBottomNav{--vn-cyan:#ffb3c7;--vn-amber:#ffd9a8;--vn-line:rgba(255,179,199,.2)}
body[data-vnext-hud="copper-forge"] #jarvisVNext,body[data-vnext-hud="copper-forge"] #vnextBottomNav{--vn-cyan:#ff9f5a;--vn-amber:#ffd27a;--vn-line:rgba(255,159,90,.22)}

/* Preset swatches show their own color */
.vnext-preset-grid button{transition:transform .25s cubic-bezier(.2,.9,.3,1.3),border-color .2s,box-shadow .25s}
.vnext-preset-grid button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px -10px var(--vn-cyan)}
.vnext-preset-grid button i{background:var(--sw,var(--vn-cyan));box-shadow:0 0 12px var(--sw,var(--vn-cyan))}
[data-vnext-action="hud-preset:cyan-command"]{--sw:#43efd0}[data-vnext-action="hud-preset:emerald-drift"]{--sw:#5cf2ad}[data-vnext-action="hud-preset:violet-circuit"]{--sw:#b99cff}[data-vnext-action="hud-preset:ember-pulse"]{--sw:#ff9266}[data-vnext-action="hud-preset:midnight-ice"]{--sw:#8ce8ff}[data-vnext-action="hud-preset:plasma-magenta"]{--sw:#ff8bde}[data-vnext-action="hud-preset:ultraviolet"]{--sw:#7f8cff}[data-vnext-action="hud-preset:toxic-lime"]{--sw:#beff55}[data-vnext-action="hud-preset:solar-gold"]{--sw:#ffd05d}[data-vnext-action="hud-preset:monochrome-ghost"]{--sw:#e4f1f5}
[data-vnext-action="hud-preset:aurora-borealis"] i{background:linear-gradient(135deg,#5effc8,#b28cff)!important}
[data-vnext-action="hud-preset:synthwave-sunset"] i{background:linear-gradient(135deg,#ff6ec7,#ffb86b)!important}
[data-vnext-action="hud-preset:deep-abyss"] i{background:linear-gradient(135deg,#3fa9ff,#6af0ff)!important}
[data-vnext-action="hud-preset:rose-quartz"] i{background:linear-gradient(135deg,#ffb3c7,#ffd9a8)!important}
[data-vnext-action="hud-preset:copper-forge"] i{background:linear-gradient(135deg,#ff9f5a,#ffd27a)!important}

/* Typography */
#jarvisVNext{font-family:Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
#jarvisVNext h2,#jarvisVNext h3,#jarvisVNext h4,#jarvisVNext h5,.vnext-card-value,.vnext-price,.vnext-big-symbol{font-family:Sora,"Space Grotesk",sans-serif!important;letter-spacing:-.025em}
.vnext-card-kicker,.vnext-eyebrow,.vnext-state-pill,.vnext-token,.vnext-bottom-nav button{font-family:"JetBrains Mono",ui-monospace,monospace!important}
.vnext-card p{font-size:12px;line-height:1.6}

/* Panel entrance motion */
@keyframes jpRise{from{opacity:0;transform:translateY(14px) scale(.985);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
.vnext-card{animation:jpRise .5s cubic-bezier(.2,.8,.2,1) both;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .3s;position:relative}
.vnext-grid>.vnext-card:nth-child(2){animation-delay:.04s}.vnext-grid>.vnext-card:nth-child(3){animation-delay:.08s}.vnext-grid>.vnext-card:nth-child(4){animation-delay:.12s}.vnext-grid>.vnext-card:nth-child(5){animation-delay:.16s}.vnext-grid>.vnext-card:nth-child(n+6){animation-delay:.2s}
.vnext-card:hover{border-color:color-mix(in srgb,var(--vn-cyan) 38%,transparent);box-shadow:0 14px 40px -18px color-mix(in srgb,var(--vn-cyan) 45%,transparent)}
.vnext-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),color-mix(in srgb,var(--vn-cyan) 9%,transparent),transparent 45%);opacity:0;transition:opacity .3s}
.vnext-card:hover::before{opacity:1}
.vnext-module-page:not([hidden]) .vnext-module-body{animation:jpRise .4s cubic-bezier(.2,.8,.2,1) both}

/* Buttons */
.vnext-btn{position:relative;overflow:hidden;border-radius:14px;padding:11px 16px;font-family:Sora,Manrope,sans-serif;letter-spacing:0;transition:transform .2s cubic-bezier(.2,.9,.3,1.4),box-shadow .25s,border-color .2s,background .2s}
.vnext-btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px -12px var(--vn-cyan)}
.vnext-btn:active{transform:translateY(0) scale(.97)}
.vnext-btn:focus-visible,.vnext-bottom-nav button:focus-visible,.jp-mode button:focus-visible{outline:2px solid var(--vn-cyan);outline-offset:2px}
.vnext-btn.primary{background:linear-gradient(135deg,var(--vn-cyan),color-mix(in srgb,var(--vn-cyan) 55%,#fff));color:#03100e}
.vnext-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.22) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s}
.vnext-btn:hover::after{transform:translateX(120%)}
.jp-ripple{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.25;transform:scale(0);animation:jpRipple .55s ease-out forwards}
@keyframes jpRipple{to{transform:scale(2.6);opacity:0}}
.vnext-bottom-nav button{transition:color .2s,background .25s,transform .2s}
.vnext-bottom-nav button.active .vnext-nav-icon{animation:jpPop .35s cubic-bezier(.2,.9,.3,1.6)}
@keyframes jpPop{50%{transform:scale(1.22)}}
.vnext-timeframe-rail button,.vnext-filter-rail button{transition:all .2s}

/* Explain modes */
.jp-mode{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--vn-line);border-radius:999px;background:rgba(3,9,15,.7)}
.jp-mode button{border:0;background:transparent;color:var(--vn-muted,#87a0b3);padding:6px 11px;border-radius:999px;font:700 10px "JetBrains Mono",monospace;cursor:pointer;transition:all .2s}
.jp-mode button.active{background:var(--vn-cyan);color:#03100e;box-shadow:0 0 14px -2px var(--vn-cyan)}
.jp-explain{margin-top:10px;padding:12px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--vn-cyan) 22%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--vn-cyan) 7%,transparent),transparent);animation:jpRise .35s both}
.jp-explain-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.jp-explain-head span{color:var(--vn-cyan);font:800 9px "JetBrains Mono",monospace;letter-spacing:.12em}
.jp-explain ul{margin:0;padding-left:16px;display:grid;gap:5px}
.jp-explain li{color:#d3e4ec;font-size:12px;line-height:1.55}
.jp-explain li b{color:#fff}
@media(prefers-reduced-motion:reduce){.vnext-card,.jp-explain,.vnext-module-body{animation:none!important}.vnext-btn::after{display:none}}
