/* VibeSwap Market Mood dashboard */
.mf-page{--mf-s:var(--surface,#111113);--mf-l:var(--line,rgba(255,255,255,.07));--mf-m:var(--muted,#a1a1aa);--mf-t:var(--text,#f4f4f5);--mf-g:#14f195;--mf-p:#a855f7;--mf-r:#ef4444;--mf-y:#eab308}
.in-tabs a{flex:none;color:var(--mf-m);font:600 14px Inter,system-ui,sans-serif;padding:9px 18px;border-radius:999px;text-decoration:none;transition:background .2s,color .2s}
.in-tabs a:hover{color:var(--mf-t)}
.in-tabs a.on{color:var(--bg,#0a0a0a);background:linear-gradient(90deg,var(--purple,#a855f7),var(--mint,#14f195))}
.mf-card{background:var(--mf-s);border:1px solid var(--mf-l);border-radius:20px;padding:20px;margin:16px 0;opacity:0;transform:translateY(8px);transition:opacity .5s,transform .5s}
.mf-ready .mf-card,.mf-ready .mf-sec{opacity:1;transform:none}
.mf-sec{margin:22px 0;opacity:0;transition:opacity .6s}
.mf-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.mf-head h2{margin:0;font:700 18px "Space Grotesk",Inter,sans-serif}
.mf-link{font-size:13px;color:var(--mf-p);text-decoration:none}
.up{color:var(--mf-g)}.dn{color:var(--mf-r)}.flat{color:var(--mf-m)}
.z-on{color:var(--mf-g)}.z-off{color:var(--mf-r)}.z-mid{color:var(--mf-y)}
/* hero */
.mf-hero{display:grid;grid-template-columns:320px 1fr 220px;gap:24px;align-items:center;background:radial-gradient(120% 140% at 0% 0%,rgba(168,85,247,.16),transparent 55%),radial-gradient(120% 140% at 100% 100%,rgba(20,241,149,.10),transparent 55%),var(--mf-s)}
.mf-gauge-wrap{position:relative}
.mf-gauge{width:100%;display:block}
.mf-track{fill:none;stroke:rgba(255,255,255,.07);stroke-width:20;stroke-linecap:round}
.mf-arc{fill:none;stroke:url(#mf-grad);stroke-width:20;stroke-linecap:round;stroke-dasharray:0 999;filter:drop-shadow(0 0 8px rgba(168,85,247,.45))}
#mf-ticks line{stroke:rgba(255,255,255,.25);stroke-width:2}#mf-ticks line.th{stroke:#fff;stroke-width:3}
#mf-ticks text{fill:var(--mf-m);font:600 11px Inter,sans-serif}
.mf-needle line{stroke:#fff;stroke-width:4;stroke-linecap:round}.mf-needle circle{fill:#fff}
.mf-needle{transition:none}
.mf-readout{text-align:center;margin-top:-4px}
.mf-readout b{display:block;font:700 44px "Space Grotesk",Inter,sans-serif;line-height:1}
.mf-label{display:inline-block;margin-top:6px;padding:4px 12px;border-radius:999px;font:700 12px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.06)}
.mf-label.z-mid{background:rgba(234,179,8,.14)}.mf-label.z-on{background:rgba(20,241,149,.14)}.mf-label.z-off{background:rgba(239,68,68,.14)}
.mf-hero-mid h1{margin:0 0 6px}
.mf-pulse{font-size:16px;line-height:1.5;color:var(--mf-t);margin:0 0 14px;min-height:48px}
.mf-hero-chg{display:flex;align-items:baseline;gap:10px}
.mf-hero-chg b{font:700 36px "Space Grotesk",Inter,sans-serif}
#mf-chg-l{color:var(--mf-m);font-size:13px}
.mf-hero-spark{width:100%;height:60px;display:block;margin:6px 0}
.mf-updated{font-size:12px;color:var(--mf-m)}
.mf-hero-side{display:grid;gap:10px}
.mf-kv{background:rgba(255,255,255,.03);border:1px solid var(--mf-l);border-radius:14px;padding:10px 14px;display:flex;justify-content:space-between;align-items:baseline}
.mf-kv span{font-size:12px;color:var(--mf-m)}.mf-kv b{font:700 18px "Space Grotesk",Inter,sans-serif}.mf-kv small{font-size:11px;margin-left:4px}
/* timeline */
.mf-seg{display:flex;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--mf-l)}
.mf-seg button{border:0;background:none;color:var(--mf-m);font:600 13px Inter,sans-serif;padding:6px 14px;border-radius:999px;cursor:pointer;transition:all .2s}
.mf-seg button.on{background:linear-gradient(90deg,rgba(168,85,247,.35),rgba(20,241,149,.25));color:#fff}
.mf-seg button:disabled{opacity:.35;cursor:default}
.mf-heat{display:flex;gap:2px;height:22px;border-radius:8px;overflow:hidden}
.mf-heat i{flex:1;transition:background .4s}
.mf-zone-split{display:flex;gap:4px;margin:8px 0 14px;font-size:12px}
.mf-zone-split span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.04)}
.mf-zone-split b{font-weight:700}
.mf-chart-box{position:relative}
#mf-chart{width:100%;height:240px;display:block}
#mf-chart .zon{fill:rgba(20,241,149,.06)}#mf-chart .zoff{fill:rgba(239,68,68,.06)}
#mf-chart .gl{stroke:rgba(255,255,255,.08);stroke-dasharray:4 6}
#mf-chart .ln{fill:none;stroke:#a855f7;stroke-width:2.5}
#mf-chart .sol{fill:none;stroke:#60a5fa;stroke-width:2;stroke-dasharray:6 4;opacity:.9}
#mf-chart .last{fill:#fff;stroke:#a855f7;stroke-width:3}
#mf-chart .xon{fill:var(--mf-g)}#mf-chart .xoff{fill:var(--mf-r)}
.mf-sol-axis{position:absolute;right:8px;top:6px;font:600 12px Inter,sans-serif;color:#60a5fa}
.mf-chart-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}
.mf-x{flex:1;display:flex;justify-content:space-between;font-size:11px;color:var(--mf-m)}
.mf-tog{display:flex;gap:6px;align-items:center;font-size:12px;color:#60a5fa;cursor:pointer;white-space:nowrap}
.mf-tog input{accent-color:#60a5fa}
/* grids */
.mf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mf-grid2 .mf-card{margin:0}
.mf-grid2+.mf-grid2,.mf-sec+.mf-grid2,.mf-card+.mf-grid2{margin-top:16px}
/* donut */
.mf-donut-wrap{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}
.mf-donut{width:150px;height:150px}
.mf-donut path{transition:opacity .2s}.mf-donut path:hover{opacity:.8}
.dn-big{fill:#fff;font:700 20px "Space Grotesk",Inter,sans-serif}.dn-sm{fill:var(--mf-m);font:600 9px Inter,sans-serif}
.mf-donut-key{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:13px}
.mf-donut-key li{display:grid;grid-template-columns:10px 1fr auto 30px;gap:10px;align-items:center}
.mf-donut-key i{width:10px;height:10px;border-radius:3px}.mf-donut-key b{font-weight:700}.mf-donut-key em{font-style:normal;font-weight:700;text-align:right}
/* changes list */
.mf-changes{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.mf-changes li{display:grid;grid-template-columns:1fr auto 80px;gap:10px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--mf-l);font-size:14px}
.mf-changes li:last-child{border:0}.mf-changes em{font-style:normal;color:var(--mf-m);font-size:12px}.mf-changes b{text-align:right}
/* signal cards */
.mf-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.mf-sig{background:var(--mf-s);border:1px solid var(--mf-l);border-radius:18px;padding:16px;transition:transform .2s,border-color .2s}
.mf-sig:hover{transform:translateY(-2px);border-color:rgba(168,85,247,.4)}
.mf-sig.stale{opacity:.6}
.mf-sig header{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mf-sig h3{margin:0;font-size:14px;font-weight:600;color:var(--mf-m)}
.mf-tag{font-size:10px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(20,241,149,.12);color:var(--mf-g)}
.mf-sig-row{display:flex;justify-content:space-between;align-items:flex-end;margin:10px 0 4px}
.mf-sig-v{display:block;font:700 22px "Space Grotesk",Inter,sans-serif}
.mf-sig-u{font-size:12px;color:var(--mf-m)}
.mf-mini{width:56px;height:34px}.mf-mini .mt{fill:none;stroke:rgba(255,255,255,.08);stroke-width:5;stroke-linecap:round}.mf-mini .mv{fill:none;stroke-width:5;stroke-linecap:round}
.mf-mini text{fill:#fff;font:700 11px Inter,sans-serif}
.mf-spark{width:100%;height:36px;display:block;margin:6px 0}.mf-spark path{fill:none;stroke-width:2}
.mf-sig footer{display:flex;justify-content:space-between;font-size:12px;color:var(--mf-m)}
/* stats */
.mf-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mf-stat{background:rgba(255,255,255,.03);border:1px solid var(--mf-l);border-radius:14px;padding:12px 14px;position:relative;overflow:hidden}
.mf-stat span{display:block;font-size:12px;color:var(--mf-m)}
.mf-stat b{display:block;font:700 20px "Space Grotesk",Inter,sans-serif;margin:4px 0 2px}
.mf-stat b small{font:600 12px Inter,sans-serif;color:var(--mf-m)}
.mf-stat em{font-style:normal;font-size:12px;color:var(--mf-m)}.mf-stat em.up{color:var(--mf-g)}.mf-stat em.dn{color:var(--mf-r)}
.mf-tspark{position:absolute;right:10px;top:12px;width:70px;height:24px}
/* calls */
.mf-cbar{display:grid;grid-template-columns:76px 1fr 56px 34px;gap:10px;align-items:center;margin:10px 0;font-size:13px}
.mf-cbar>span{font-weight:600}
.mf-cbar div{height:12px;border-radius:999px;background:rgba(255,255,255,.05);overflow:hidden}
.mf-cbar i{display:block;height:100%;border-radius:999px;background:currentColor;transition:width 1s}
.mf-cbar b{color:var(--mf-t);text-align:right}.mf-cbar small{color:var(--mf-m);font-size:11px}
.mf-mute{font-size:12px;color:var(--mf-m);margin:8px 0 14px}
.mf-lc{display:flex;gap:12px;align-items:center;padding:12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--mf-l);color:inherit;text-decoration:none}
.mf-lc img{border-radius:50%;object-fit:cover}
.mf-lc span,.mf-lc em{display:block;font-size:12px;color:var(--mf-m);font-style:normal}.mf-lc b{font-size:16px}
.mf-lc-r{margin-left:auto;text-align:right}
.mf-lc-stats{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--mf-m)}.mf-lc-stats b{color:var(--mf-t)}
/* trending */
.mf-trend{display:grid;gap:6px}
.mf-tc{display:grid;grid-template-columns:18px 32px 1fr auto;gap:12px;align-items:center;padding:8px 10px;border-radius:12px;color:inherit;text-decoration:none;transition:background .2s}
.mf-tc:hover{background:rgba(255,255,255,.04)}
.mf-tc em{font-style:normal;color:var(--mf-m);font-size:12px}
.mf-tc img,.mf-ph{width:32px;height:32px;border-radius:50%;object-fit:cover}
.mf-ph{display:grid;place-items:center;background:linear-gradient(135deg,#a855f7,#14f195);color:#000;font-weight:700;font-style:normal}
.mf-tc b{display:block;font-size:14px}.mf-tc span{display:block;font-size:12px;color:var(--mf-m);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mf-tc div{min-width:0}.mf-tc-r{text-align:right}
/* misc */
.mf-how summary{cursor:pointer;font-weight:600}.mf-how p{color:var(--mf-m);font-size:14px;line-height:1.6}
.mf-foot{text-align:center;font-size:11px;color:var(--mf-m);opacity:.7;margin:18px 0 30px}
.mf-skel{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.09),rgba(255,255,255,.04));background-size:200% 100%;animation:mfsk 1.4s infinite}
.mf-skel.w80{width:80%}.mf-changes .mf-skel{height:34px;margin:4px 0}
.mf-skel-line{height:2px;margin:23px 0;background:rgba(255,255,255,.06);border-radius:2px}
@keyframes mfsk{to{background-position:-200% 0}}
@media (max-width:1200px){.mf-hero{grid-template-columns:280px 1fr}.mf-hero-side{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.mf-cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){.mf-grid2{grid-template-columns:1fr}.mf-cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.in-tabs a{flex:1;text-align:center;padding:9px 6px;font-size:13px}
  .mf-hero{grid-template-columns:1fr;gap:14px;padding:16px}.mf-gauge-wrap{max-width:300px;margin:0 auto;width:100%}.mf-hero-side{grid-template-columns:1fr 1fr}
  .mf-card{padding:16px}.mf-cards{gap:10px}.mf-sig{padding:12px}.mf-sig-v{font-size:18px}.mf-mini{width:44px}
  .mf-donut-wrap{grid-template-columns:110px 1fr}.mf-donut{width:110px;height:110px}#mf-chart{height:180px}}
@media (max-width:420px){.mf-cards{grid-template-columns:1fr 1fr}.mf-stats{grid-template-columns:1fr 1fr}.mf-sig h3{font-size:12px}}
