*{box-sizing:border-box}
:root{--green:#21ff42;--cyan:#16eaff;--blue:#0789ff;--red:#ff4b4b;--yellow:#ffe000;--border:#0b80c7}
html,body{margin:0;height:100%;overflow:hidden;background:#000;color:#fff;font-family:Arial,Helvetica,sans-serif}
#bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;opacity:.95}
.topbar,.grid,.bottom,footer{position:relative;z-index:2}
.topbar{height:70px;display:flex;align-items:center;gap:16px;padding:0 18px;background:rgba(1,7,14,.74);border-bottom:1px solid var(--border)}
.logo{font-size:38px;letter-spacing:12px;color:var(--cyan);font-weight:900;text-shadow:0 0 14px var(--cyan)}
.brand b{font-size:15px}.brand span{display:block;color:var(--cyan);font-size:12px;letter-spacing:2px}
nav{display:flex;gap:6px;margin-left:10px}button{background:#061320;color:white;border:1px solid #0874b5;border-radius:5px;padding:10px 18px;font-weight:800}
button.active{background:#0869b2;box-shadow:0 0 14px #008cff}button i{background:#12c94a;border-radius:50%;padding:1px 6px}
.sys{margin-left:auto;color:var(--green);font-weight:900}.metric{font-size:11px;color:#9fc3d8;border-left:1px solid #24485f;padding-left:14px}.metric b{font-size:15px;color:var(--green)}
.grid{height:calc(100vh - 306px);min-height:470px;display:grid;grid-template-columns:310px 1fr 280px 280px;gap:10px;padding:10px}
.left,.center,.right1,.right2{display:flex;flex-direction:column;gap:10px;min-height:0}
.panel{background:linear-gradient(180deg,rgba(5,18,34,.78),rgba(1,6,13,.88));border:1px solid var(--border);border-radius:8px;padding:12px;box-shadow:inset 0 0 18px rgba(0,170,255,.12),0 0 14px rgba(0,120,255,.28);position:relative;overflow:hidden;backdrop-filter:blur(5px)}
h2{margin:0 0 8px;font-size:15px;font-weight:900}small{color:#aec7d9}.green{color:var(--green)}.cyan{color:var(--cyan)}.yellow{color:var(--yellow)}.red{color:var(--red)}
.pricebox{height:32%}.scorebox{height:27%}.model{height:16%;display:flex;align-items:center;gap:12px;font-size:12px}
.pricebox h2 span{float:right;color:var(--green)}.price{font-size:48px;color:var(--green);font-weight:900;text-shadow:0 0 16px rgba(30,255,80,.7)}.live{position:absolute;right:15px;top:80px;background:#08a941;padding:6px 10px;border-radius:6px;font-weight:900}
.pricebox canvas{height:62px!important;margin-top:6px}
.gauge{width:118px;height:118px;border-radius:50%;margin:2px auto;background:conic-gradient(var(--green) 0 230deg,#0d253c 230deg);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 25px rgba(0,255,90,.45)}
.gauge b{font-size:34px}.signal{text-align:center;color:var(--green);font-weight:900}
.range{font-size:24px;color:#c5e6ff;font-weight:900;margin:12px 0}.rangebar{height:9px;background:linear-gradient(90deg,#4654ff,var(--cyan),var(--green));border-radius:12px}.rangebar i{display:block;width:14px;height:14px;background:var(--cyan);border-radius:50%;position:relative;left:72%;top:-3px}
.orb{width:70px;height:70px;min-width:70px;border-radius:50%;background:radial-gradient(circle,#8cffff 0,#0494ff 25%,#03243e 46%,#06111d 66%);box-shadow:0 0 25px #02a6ff;animation:orb 2.8s infinite ease-in-out}
@keyframes orb{0%,100%{transform:scale(.96)}50%{transform:scale(1.05);box-shadow:0 0 38px #02eaff}}
.chartbox{height:52%}.predictionbox{height:48%}.charthead{display:flex;align-items:center;justify-content:space-between;gap:10px}.charthead span{color:var(--green)}.tabs button{padding:6px 9px}.chartprice{font-size:32px;color:var(--green);font-weight:900}.chartbox canvas{height:calc(100% - 96px)!important}.volbars{height:34px;display:flex;gap:3px;align-items:end;padding:0 14px}.volbars i{flex:1;background:#16c653;min-height:4px}.volbars i:nth-child(3n){background:#d94141}
.predictionbox canvas{height:calc(100% - 32px)!important}.overlay{position:absolute;right:12px;top:62px;width:150px;background:rgba(4,12,24,.92);border:1px solid #0c74b8;border-radius:7px;padding:10px;text-align:center}.overlay small{display:block;margin-top:8px}.overlay b{display:block;font-size:16px}
.semi{height:80px;width:165px;margin:8px auto 0;border-radius:100px 100px 0 0;background:conic-gradient(from 270deg,var(--red),#ff9a00,var(--yellow),#3fff2a,var(--green));display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px}.semi b{font-size:28px;color:var(--green);background:#06101d;border-radius:50%;padding:10px 14px}
.centertext{text-align:center}.sentiment{font-size:36px;color:var(--green);font-weight:900}.right1 canvas{height:50px!important}
.row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #17405d;padding:6px 0;font-size:12px;gap:8px}.row em{font-style:normal;color:var(--green);font-size:12px}
.news{border-bottom:1px solid #163a55;padding:10px 0;font-size:14px}.status{display:flex;align-items:center;gap:16px;line-height:2}.status b{color:var(--green)}
.smallgauge{width:92px;height:92px;border-radius:50%;margin:4px auto;background:conic-gradient(var(--green) 0 310deg,#0d253c 310deg);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 22px rgba(0,255,90,.45)}.smallgauge b{font-size:27px}
.compare{text-align:center}
.bottom{height:210px;display:grid;grid-template-columns:1.1fr 1.2fr 1.1fr .8fr 1.1fr;gap:10px;padding:0 10px 10px}.regime{text-align:center;display:flex;flex-direction:column;gap:6px}.regime b{color:var(--green);font-size:18px}
footer{height:26px;border-top:1px solid var(--border);color:#9fc3d8;font-size:12px;padding:6px 20px;background:rgba(1,7,14,.8)}footer span{float:right;color:var(--green)}
canvas{width:100%!important}

/* ===== JARVIS XRP V7 PHASE 1 ===== */

.v7grid{
  position:relative;
  z-index:2;
  height:150px;
  display:grid;
  grid-template-columns:1.1fr 1fr 1.2fr 1fr;
  gap:10px;
  padding:0 10px 10px;
}

.decisionMain{
  font-size:34px;
  font-weight:900;
  color:var(--green);
  text-shadow:0 0 14px var(--green);
}

.decisionScore{
  font-size:22px;
  color:var(--cyan);
  font-weight:900;
}

.barrow{
  display:grid;
  grid-template-columns:90px 1fr 42px;
  align-items:center;
  gap:8px;
  font-size:12px;
  margin:7px 0;
}

.barrow i{
  height:8px;
  border-radius:8px;
  background:linear-gradient(90deg,var(--cyan),var(--green));
  width:var(--w);
  box-shadow:0 0 10px var(--cyan);
}

.barrow b{
  color:var(--green);
}

@media(max-width:1200px){
  .v7grid{
    grid-template-columns:repeat(2,1fr);
    height:300px;
  }
}

/* ===== JARVIS XRP V7.1 POLISH ===== */

.scorebox{
  overflow:hidden;
}

.scorebox .gauge{
  width:105px !important;
  height:105px !important;
  margin:0 auto 2px auto !important;
}

.scorebox .gauge b{
  font-size:30px !important;
  transform:translateY(-2px);
}

.scorebox .signal{
  font-size:12px;
  margin-top:-2px;
}

.semi{
  width:145px !important;
  height:68px !important;
  margin-top:2px !important;
}

.semi b{
  font-size:24px !important;
  padding:8px 12px !important;
}

.compare .smallgauge{
  width:115px !important;
  height:115px !important;
  margin:2px auto !important;
  background:conic-gradient(var(--green) 0 315deg,#0d253c 315deg) !important;
}

.compare .smallgauge b{
  font-size:34px !important;
}

.panel{
  background:linear-gradient(180deg,rgba(5,18,34,.70),rgba(1,6,13,.84)) !important;
  backdrop-filter:blur(7px);
}

#bg{
  opacity:1 !important;
  filter:saturate(1.6) brightness(1.25);
}

.orb{
  animation:orbPulse 2.4s infinite ease-in-out;
}

@keyframes orbPulse{
  0%{transform:scale(.94);box-shadow:0 0 12px #02a6ff}
  50%{transform:scale(1.06);box-shadow:0 0 42px #02eaff}
  100%{transform:scale(.94);box-shadow:0 0 12px #02a6ff}
}

.chartbox canvas,
.predictionbox canvas{
  filter:drop-shadow(0 0 5px rgba(33,255,66,.45));
}

.volbars{
  opacity:.70;
}

.news{
  animation:softPulse 4s infinite ease-in-out;
}

@keyframes softPulse{
  0%,100%{opacity:.82}
  50%{opacity:1}
}


/* ===== JARVIS XRP V8 PHASE 1 ===== */

.price{
  font-size:52px !important;
}

.scorebox .gauge{
  width:122px !important;
  height:122px !important;
  margin:4px auto !important;
}

.scorebox .gauge b{
  font-size:36px !important;
}

.semi{
  width:158px !important;
  height:76px !important;
}

.compare .smallgauge{
  width:132px !important;
  height:132px !important;
}

.compare .smallgauge b{
  font-size:38px !important;
}

.panel{
  border-color:#10a8ff !important;
  box-shadow:
    inset 0 0 22px rgba(0,180,255,.18),
    0 0 18px rgba(0,130,255,.32) !important;
}

.chartbox canvas{
  filter:drop-shadow(0 0 8px rgba(33,255,66,.55));
}

.predictionbox canvas{
  filter:drop-shadow(0 0 8px rgba(22,234,255,.55));
}

.topbar{
  background:rgba(0,5,12,.66) !important;
}

.v8ticker{
  position:relative;
  z-index:3;
  height:26px;
  overflow:hidden;
  border-top:1px solid #0b80c7;
  border-bottom:1px solid #0b80c7;
  background:rgba(0,10,20,.72);
  color:#21ff42;
  font-size:12px;
  white-space:nowrap;
}

.v8ticker span{
  display:inline-block;
  padding-left:100%;
  animation:ticker 28s linear infinite;
}

@keyframes ticker{
  from{transform:translateX(0)}
  to{transform:translateX(-100%)}
}

.aiPulse{
  animation:aiPulse 2.2s ease-in-out infinite;
}

@keyframes aiPulse{
  0%,100%{opacity:.78;text-shadow:0 0 8px #21ff42}
  50%{opacity:1;text-shadow:0 0 18px #21ff42}
}

/* ===== JARVIS XRP V9 ULTIMATE VISUAL ENGINE ===== */

#bg{
  opacity:.38 !important;
  filter:saturate(1.7) brightness(1.45) contrast(1.2);
}

.panel{
  background:linear-gradient(180deg,rgba(4,16,31,.62),rgba(0,5,12,.78)) !important;
  border-color:#19c7ff !important;
  box-shadow:
    inset 0 0 25px rgba(0,210,255,.15),
    0 0 20px rgba(0,150,255,.38) !important;
}

.price{
  font-size:54px !important;
  text-shadow:0 0 20px #21ff42;
}

.scorebox .gauge{
  width:136px !important;
  height:136px !important;
  margin:2px auto !important;
}

.scorebox .gauge b{
  font-size:40px !important;
}

.scorebox .signal{
  font-size:13px !important;
  color:#21ff42;
  text-shadow:0 0 10px #21ff42;
}

.semi{
  width:178px !important;
  height:88px !important;
  margin-top:4px !important;
}

.semi b{
  font-size:30px !important;
}

.compare .smallgauge{
  width:142px !important;
  height:142px !important;
  margin:0 auto !important;
  background:conic-gradient(#21ff42 0 313deg,#10263d 313deg) !important;
}

.compare .smallgauge b{
  font-size:42px !important;
}

.orb{
  animation:v9Orb 2.1s infinite ease-in-out;
}

@keyframes v9Orb{
  0%,100%{transform:scale(.94);box-shadow:0 0 14px #00aaff}
  50%{transform:scale(1.09);box-shadow:0 0 48px #00eaff}
}

.v9voice{
  position:fixed;
  right:22px;
  bottom:34px;
  width:74px;
  height:74px;
  z-index:5;
  border-radius:50%;
  background:radial-gradient(circle,#b8ffff 0,#00aaff 25%,#031b32 55%,#02070d 75%);
  box-shadow:0 0 30px #00cfff;
  animation:v9Voice 2.8s infinite ease-in-out;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#bfffff;
  font-weight:900;
  font-size:11px;
}

@keyframes v9Voice{
  0%,100%{transform:scale(.95);filter:brightness(1)}
  50%{transform:scale(1.08);filter:brightness(1.55)}
}

.v9statusbar{
  position:relative;
  z-index:3;
  height:28px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:0 18px;
  background:rgba(0,8,18,.76);
  border-bottom:1px solid #0b80c7;
  font-size:12px;
  color:#9fdfff;
}

.v9statusbar b{
  color:#21ff42;
}

.v9dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#21ff42;
  box-shadow:0 0 10px #21ff42;
  display:inline-block;
  margin-right:5px;
  animation:v9Dot 1.4s infinite ease-in-out;
}

@keyframes v9Dot{
  0%,100%{opacity:.45}
  50%{opacity:1}
}

.chartbox canvas,
.predictionbox canvas{
  filter:drop-shadow(0 0 8px rgba(33,255,66,.55));
}

.news,
.whale{
  animation:v9SoftPulse 4s infinite ease-in-out;
}

@keyframes v9SoftPulse{
  0%,100%{opacity:.82}
  50%{opacity:1}
}

/* ===== V10 COMMAND CENTER PATCH ===== */

.v10badge{
  position:fixed;
  left:20px;
  bottom:34px;
  z-index:5;
  background:rgba(0,20,35,.75);
  border:1px solid #16eaff;
  border-radius:8px;
  padding:8px 14px;
  color:#16eaff;
  font-size:12px;
  box-shadow:0 0 18px rgba(22,234,255,.45);
}

.v10badge b{
  color:#21ff42;
}

.panel{
  transition:box-shadow .25s ease, transform .25s ease;
}

.panel:hover{
  transform:translateY(-1px);
  box-shadow:
    inset 0 0 30px rgba(0,220,255,.22),
    0 0 26px rgba(0,180,255,.5) !important;
}


/* ===== JARVIS XRP V11 COMMAND CENTER ===== */

.v11grid{
  position:relative;
  z-index:2;
  height:230px;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:10px;
  padding:0 10px 10px;
}

.v11big{
  font-size:34px;
  font-weight:900;
  color:var(--green);
  text-shadow:0 0 16px var(--green);
}

.v11bar{
  height:10px;
  background:#0b253b;
  border-radius:10px;
  overflow:hidden;
  margin:8px 0;
}

.v11bar i{
  display:block;
  height:100%;
  width:50%;
  background:linear-gradient(90deg,var(--cyan),var(--green));
  box-shadow:0 0 14px var(--cyan);
}

.heatmap{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:6px;
}

.heatmap span{
  background:rgba(0,255,70,.15);
  border:1px solid rgba(33,255,66,.35);
  border-radius:6px;
  padding:7px;
  color:var(--green);
  font-weight:900;
  text-align:center;
}

.heatmap span:nth-child(2),
.heatmap span:nth-child(5),
.heatmap span:nth-child(7){
  background:rgba(255,60,60,.15);
  border-color:rgba(255,60,60,.35);
  color:#ff5555;
}

.v11summary{
  font-size:13px;
  color:#cfefff;
  line-height:1.35;
  margin-bottom:8px;
}

#bootOverlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:radial-gradient(circle,#06233d,#000);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:var(--cyan);
  transition:opacity 1.2s ease;
}

.bootLogo{
  font-size:72px;
  letter-spacing:18px;
  font-weight:900;
  text-shadow:0 0 28px var(--cyan);
}

#bootText{
  margin-top:20px;
  color:var(--green);
  font-size:18px;
  letter-spacing:3px;
}

.v11voice{
  position:fixed;
  right:22px;
  bottom:120px;
  width:92px;
  height:92px;
  z-index:6;
  border-radius:50%;
  background:radial-gradient(circle,#b8ffff 0,#00aaff 23%,#031b32 55%,#02070d 75%);
  box-shadow:0 0 38px #00cfff;
  animation:v11Voice 2.3s infinite ease-in-out;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#bfffff;
  font-weight:900;
  font-size:12px;
}

@keyframes v11Voice{
  0%,100%{transform:scale(.93)}
  50%{transform:scale(1.1);filter:brightness(1.65)}
}

@media(max-width:1200px){
  .v11grid{grid-template-columns:repeat(3,1fr);height:460px}
}

/* STEP 1: animated JARVIS background visibility */
#bg{
  opacity:.55 !important;
  filter:saturate(1.8) brightness(1.35) contrast(1.15);
}

.panel{
  background:linear-gradient(180deg,rgba(4,16,31,.60),rgba(0,5,12,.80)) !important;
}

/* STEP 2: gauge cleanup */

.scorebox .gauge{
  width:112px !important;
  height:112px !important;
  margin:0 auto 2px auto !important;
  transform:translateY(-4px);
}

.scorebox .gauge b{
  font-size:34px !important;
  transform:translateY(-2px);
}

.scorebox{
  overflow:hidden;
}

.semi{
  width:150px !important;
  height:70px !important;
  margin-top:0 !important;
}

.semi b{
  font-size:24px !important;
  padding:8px 12px !important;
}

.compare .smallgauge{
  width:118px !important;
  height:118px !important;
  margin:0 auto !important;
}

.compare .smallgauge b{
  font-size:34px !important;
}


/* STEP 3: Jarvis motion and final gauge centering */
#bg{
  opacity:.72 !important;
  filter:saturate(1.9) brightness(1.4) contrast(1.2);
}

.panel{
  animation:panelBreath 5s infinite ease-in-out;
}

@keyframes panelBreath{
  0%,100%{box-shadow:inset 0 0 18px rgba(0,170,255,.12),0 0 14px rgba(0,120,255,.28)}
  50%{box-shadow:inset 0 0 28px rgba(0,220,255,.20),0 0 24px rgba(0,180,255,.42)}
}

.scorebox .gauge{
  width:108px !important;
  height:108px !important;
  margin:-2px auto 0 auto !important;
}

.scorebox .gauge b{
  font-size:32px !important;
}

.compare .smallgauge{
  width:124px !important;
  height:124px !important;
}

.v11voice{
  animation:v11Voice 1.9s infinite ease-in-out !important;
}

/* ===== TRANSPARENT JARVIS HOLOGRAPHIC DISPLAY ===== */

#bg{
  opacity:1 !important;
  filter:saturate(2.2) brightness(1.55) contrast(1.25);
}

/* make all dashboard boxes see-through */
.panel,
.pricebox,
.scorebox,
.chartbox,
.predictionbox,
.status,
.compare,
.indicators{
  background:rgba(0,10,20,.38) !important;
  backdrop-filter:blur(3px) saturate(1.5);
  border:1px solid rgba(0,220,255,.72) !important;
  box-shadow:
    inset 0 0 22px rgba(0,220,255,.14),
    0 0 18px rgba(0,180,255,.35) !important;
}

/* stronger glass edges */
.panel:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg,rgba(0,255,255,.14),transparent 30%,rgba(0,255,120,.08));
  pointer-events:none;
}

/* holographic scratches / energy texture */
body:after{
  content:"";
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.38;
  background:
    radial-gradient(circle at 45% 35%,rgba(0,255,255,.22),transparent 22%),
    radial-gradient(circle at 78% 72%,rgba(0,180,255,.18),transparent 20%),
    repeating-linear-gradient(
      105deg,
      rgba(0,220,255,.05) 0px,
      rgba(0,220,255,.05) 1px,
      transparent 2px,
      transparent 18px
    );
  mix-blend-mode:screen;
  animation:holoFlow 9s linear infinite;
}

@keyframes holoFlow{
  0%{transform:translateX(-20px) translateY(0)}
  50%{transform:translateX(20px) translateY(-12px)}
  100%{transform:translateX(-20px) translateY(0)}
}

/* brighter neon text */
h2,
.logo,
.price,
.chartprice{
  text-shadow:0 0 12px rgba(0,255,255,.7),0 0 18px rgba(0,255,80,.35);
}

/* less solid header */
.topbar,
.v9statusbar,
.v8ticker{
  background:rgba(0,7,14,.48) !important;
  backdrop-filter:blur(4px);
}

/* keep content above effect */
.topbar,
.grid,
.dashboard,
.bottom,
.v11grid,
footer,
.v9voice,
.v11voice{
  position:relative;
  z-index:3;
}

/* ===== MAXIMUM TRANSPARENT JARVIS GLASS ===== */

.panel,
.card,
.widget,
.pricebox,
.scorebox,
.chartbox,
.predictionbox,
.status,
.compare,
.indicators,
.marketbox,
.newsbox,
.alertbox {

    background: rgba(0,0,0,0.025) !important;

    backdrop-filter: blur(1px) saturate(200%);
    -webkit-backdrop-filter: blur(1px) saturate(200%);

    border: 1px solid rgba(0,255,255,.45) !important;

    box-shadow:
        inset 0 0 10px rgba(0,255,255,.06),
        0 0 8px rgba(0,180,255,.15);

    border-radius:12px;
}

/* ===== 5% GLASS TRANSPARENCY + CYAN GLOW PATCH ===== */

/* background 40% brighter */
#bg{
  opacity:1 !important;
  filter:brightness(1.4) contrast(1.25) saturate(1.9) !important;
}

/* 5% transparent panels */
.panel,
.pricebox,
.scorebox,
.chartbox,
.predictionbox,
.status,
.compare,
.indicators,
.marketbox,
.newsbox,
.alertbox{
  background:rgba(0,8,16,0.05) !important;
  backdrop-filter:blur(1px) saturate(210%) !important;
  -webkit-backdrop-filter:blur(1px) saturate(210%) !important;
  border:1px solid rgba(0,235,255,.42) !important;
  box-shadow:
    inset 0 0 10px rgba(0,235,255,.05),
    0 0 10px rgba(0,180,255,.16) !important;
}

/* floating glass reflection */
.panel:after,
.pricebox:after,
.scorebox:after,
.chartbox:after,
.predictionbox:after{
  content:"";
  position:absolute;
  top:-80%;
  left:-60%;
  width:70%;
  height:240%;
  background:linear-gradient(
    115deg,
    transparent 0%,
    rgba(255,255,255,.04) 42%,
    rgba(0,255,255,.14) 50%,
    rgba(255,255,255,.04) 58%,
    transparent 100%
  );
  transform:rotate(18deg);
  animation:glassSweep 7s linear infinite;
  pointer-events:none;
}

@keyframes glassSweep{
  0%{left:-75%;opacity:0}
  20%{opacity:.7}
  55%{opacity:.45}
  100%{left:130%;opacity:0}
}

/* cyan glow behind important values */
.price,
.bigprice,
.chartprice,
#price,
#chartPrice{
  color:#21ff42 !important;
  text-shadow:
    0 0 8px #16eaff,
    0 0 18px #16eaff,
    0 0 30px rgba(33,255,66,.75),
    0 0 48px rgba(0,255,255,.45) !important;
}

/* prediction score glow */
.scorebox .gauge,
.gauge{
  box-shadow:
    0 0 14px #16eaff,
    0 0 28px rgba(22,234,255,.75),
    inset 0 0 18px rgba(0,255,255,.22) !important;
}

.scorebox .gauge b,
#score{
  color:white !important;
  text-shadow:
    0 0 8px #16eaff,
    0 0 18px #16eaff,
    0 0 28px rgba(33,255,66,.85) !important;
}

/* sentiment and market gauges cyan glow */
.semi,
.smallgauge,
.compare .smallgauge{
  box-shadow:
    0 0 16px #16eaff,
    0 0 32px rgba(22,234,255,.72),
    inset 0 0 20px rgba(0,255,255,.18) !important;
}

#sentiment,
.sentiment,
#fear,
#similarity{
  text-shadow:
    0 0 8px #16eaff,
    0 0 18px #16eaff,
    0 0 30px rgba(33,255,66,.75) !important;
}

/* make charts transparent */
canvas,
.chartbox canvas,
.predictionbox canvas,
#mainChart,
#miniChart,
#predictionChart,
#sentChart{
  background:transparent !important;
}

/* slightly reduce heavy panel fill overlays */
.panel:before{
  background:linear-gradient(
    120deg,
    rgba(0,255,255,.05),
    transparent 35%,
    rgba(0,255,120,.03)
  ) !important;
}


/* ===== PREMIUM GLASS POLISH ===== */

/* reduce cyan wash, keep background visible */
#bg{
  opacity:.88 !important;
  filter:brightness(1.18) contrast(1.18) saturate(1.55) !important;
}

/* premium thin glass panels */
.panel,
.pricebox,
.scorebox,
.chartbox,
.predictionbox,
.status,
.compare,
.indicators,
.marketbox,
.newsbox,
.alertbox{
  background:rgba(0,5,12,0.035) !important;
  border:1px solid rgba(60,235,255,.32) !important;
  backdrop-filter:blur(1.5px) saturate(180%) !important;
  -webkit-backdrop-filter:blur(1.5px) saturate(180%) !important;
  box-shadow:
    inset 0 0 8px rgba(0,220,255,.035),
    0 0 7px rgba(0,160,255,.11) !important;
}

/* soften panel breathing */
.panel{
  animation:premiumPanelBreath 8s infinite ease-in-out !important;
}

@keyframes premiumPanelBreath{
  0%,100%{
    box-shadow:
      inset 0 0 8px rgba(0,220,255,.035),
      0 0 7px rgba(0,160,255,.11);
  }
  50%{
    box-shadow:
      inset 0 0 13px rgba(0,220,255,.055),
      0 0 12px rgba(0,180,255,.16);
  }
}

/* softer reflections */
.panel:after,
.pricebox:after,
.scorebox:after,
.chartbox:after,
.predictionbox:after{
  opacity:.42 !important;
  animation:glassSweep 11s linear infinite !important;
}

/* better readability without opaque boxes */
h2,
small,
.row span,
.row b,
.news,
.v11summary{
  text-shadow:
    0 0 4px rgba(0,0,0,.95),
    0 0 8px rgba(0,0,0,.85),
    0 0 10px rgba(0,220,255,.25);
}

/* premium number glow */
.price,
#price,
.chartprice,
#chartPrice{
  color:#28ff48 !important;
  text-shadow:
    0 0 6px rgba(0,0,0,.95),
    0 0 10px #16eaff,
    0 0 22px rgba(33,255,66,.72) !important;
}

/* gauge style uniform */
.gauge,
.scorebox .gauge,
.semi,
.smallgauge,
.compare .smallgauge{
  box-shadow:
    0 0 10px rgba(22,234,255,.75),
    0 0 22px rgba(22,234,255,.36),
    inset 0 0 18px rgba(0,255,255,.13) !important;
}

/* chart transparency and cleaner glow */
canvas,
#mainChart,
#miniChart,
#predictionChart,
#sentChart{
  background:transparent !important;
  filter:drop-shadow(0 0 3px rgba(33,255,66,.35)) !important;
}

/* reduce heavy overlays */
.panel:before{
  background:linear-gradient(
    120deg,
    rgba(0,255,255,.025),
    transparent 38%,
    rgba(0,255,120,.018)
  ) !important;
}

/* top bars more premium */
.topbar,
.v9statusbar,
.v8ticker{
  background:rgba(0,5,12,.34) !important;
  border-color:rgba(40,220,255,.35) !important;
  backdrop-filter:blur(3px) !important;
}

/* taskbar-safe bottom spacing */
.grid{
  height:calc(100vh - 330px) !important;
}

.bottom{
  height:195px !important;
  padding-bottom:22px !important;
}

/* slightly more breathing room */
.grid{
  gap:12px !important;
}

.bottom{
  gap:12px !important;
}

/* sharpen live badges */
.live{
  box-shadow:0 0 10px rgba(33,255,66,.65);
  border:1px solid rgba(33,255,66,.45);
}

/* voice orb cleaner */
.v11voice,
.v9voice{
  box-shadow:
    0 0 18px rgba(22,234,255,.85),
    0 0 38px rgba(22,234,255,.35) !important;
}


/* ===== CHART REALISM PATCH ===== */

.chartbox,
.predictionbox{
  overflow:hidden;
}

.chartbox:before,
.predictionbox:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,255,255,.03),transparent 35%),
    radial-gradient(circle at 78% 18%,rgba(33,255,66,.12),transparent 18%);
  z-index:0;
}

.chartbox canvas,
.predictionbox canvas{
  position:relative;
  z-index:2;
  background:transparent !important;
}

.volbars i{
  opacity:.72;
  border-radius:2px 2px 0 0;
  box-shadow:0 0 5px rgba(33,255,66,.35);
}

.pricePulseDot{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#21ff42;
  box-shadow:0 0 14px #21ff42,0 0 28px #16eaff;
  z-index:4;
  pointer-events:none;
  animation:lastDotPulse 1.4s infinite ease-in-out;
}

@keyframes lastDotPulse{
  0%,100%{transform:scale(.75);opacity:.75}
  50%{transform:scale(1.35);opacity:1}
}


/* ===== JARVIS XRP V12 PREMIUM VISUAL OVERHAUL ===== */

/* cinematic background */
#bg{
  opacity:1 !important;
  filter:brightness(1.38) contrast(1.28) saturate(1.9) !important;
}

/* ultra glass panels */
.panel,
.pricebox,
.scorebox,
.chartbox,
.predictionbox,
.status,
.compare,
.indicators,
.marketbox,
.newsbox,
.alertbox{
  background:rgba(0,5,12,0.035) !important;
  border:1px solid rgba(80,240,255,.34) !important;
  backdrop-filter:blur(2px) saturate(210%) !important;
  -webkit-backdrop-filter:blur(2px) saturate(210%) !important;
  box-shadow:
    0 0 12px rgba(0,255,255,.18),
    0 10px 30px rgba(0,0,0,.35),
    inset 0 1px rgba(255,255,255,.08),
    inset 0 0 14px rgba(0,220,255,.055) !important;
}

/* floating glass sweep */
.panel::after,
.pricebox::after,
.scorebox::after,
.chartbox::after,
.predictionbox::after{
  content:"";
  position:absolute;
  top:-80%;
  left:-80%;
  width:70%;
  height:260%;
  background:linear-gradient(
    120deg,
    transparent 20%,
    rgba(255,255,255,.06) 42%,
    rgba(0,255,255,.22) 50%,
    rgba(255,255,255,.06) 58%,
    transparent 80%
  );
  transform:rotate(18deg);
  animation:v12GlassSweep 10s linear infinite;
  pointer-events:none;
  z-index:2;
}

@keyframes v12GlassSweep{
  0%{left:-90%;opacity:0}
  25%{opacity:.75}
  70%{opacity:.35}
  100%{left:140%;opacity:0}
}

/* live price holographic pulse */
.price,
#price,
.chartprice,
#chartPrice{
  color:#38ff5c !important;
  text-shadow:
    0 0 7px #38ff5c,
    0 0 16px #38ff5c,
    0 0 32px #16eaff,
    0 0 55px rgba(0,255,255,.55) !important;
  animation:v12PriceGlow 2s ease-in-out infinite;
}

@keyframes v12PriceGlow{
  0%,100%{filter:brightness(1);transform:scale(1)}
  50%{filter:brightness(1.35);transform:scale(1.025)}
}

/* LED gauge glow */
.gauge,
.scorebox .gauge,
.semi,
.smallgauge,
.compare .smallgauge{
  filter:
    drop-shadow(0 0 10px rgba(0,255,255,.85))
    drop-shadow(0 0 24px rgba(0,255,255,.55)) !important;
}

/* sentiment glow */
#sentiment,
.sentiment,
#score,
#fear,
#similarity{
  text-shadow:
    0 0 8px #16eaff,
    0 0 18px #16eaff,
    0 0 30px rgba(33,255,66,.8) !important;
}

/* screen edge glow */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:20;
  box-shadow:
    inset 0 0 110px rgba(0,255,255,.08),
    inset 0 0 230px rgba(0,255,255,.045);
}

/* clean charts */
canvas,
#mainChart,
#miniChart,
#predictionChart,
#sentChart{
  background:transparent !important;
  filter:drop-shadow(0 0 4px rgba(33,255,66,.45)) !important;
}

/* premium header transparency */
.topbar,
.v9statusbar,
.v8ticker{
  background:rgba(0,5,12,.28) !important;
  backdrop-filter:blur(4px) saturate(180%) !important;
  border-color:rgba(60,235,255,.32) !important;
}

/* sharper text over transparent glass */
h2,
small,
.row span,
.row b,
.news,
.v11summary{
  text-shadow:
    0 0 4px rgba(0,0,0,.95),
    0 0 8px rgba(0,0,0,.88),
    0 0 12px rgba(0,220,255,.28);
}

/* less cluttered panel motion */
.panel{
  animation:v12PanelFloat 7s infinite ease-in-out !important;
}

@keyframes v12PanelFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-1px)}
}

/* V12 badge */
.v10badge{
  background:rgba(0,5,12,.12) !important;
  border-color:rgba(0,255,255,.5) !important;
  box-shadow:0 0 18px rgba(0,255,255,.35) !important;
}


/* ===== V12 REALISM POLISH ===== */

/* reduce blue wash, make it more realistic */
#bg{
  opacity:.82 !important;
  filter:brightness(1.08) contrast(1.18) saturate(1.55) !important;
}

/* more believable glass: transparent but with depth */
.panel,
.pricebox,
.scorebox,
.chartbox,
.predictionbox,
.status,
.compare,
.indicators{
  background:rgba(0,8,18,.075) !important;
  border:1px solid rgba(90,230,255,.26) !important;
  backdrop-filter:blur(3px) saturate(170%) !important;
  -webkit-backdrop-filter:blur(3px) saturate(170%) !important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.34),
    0 0 8px rgba(0,200,255,.12),
    inset 0 1px rgba(255,255,255,.075),
    inset 0 0 12px rgba(0,210,255,.045) !important;
}

/* less cartoon glow */
.price,
#price,
.chartprice,
#chartPrice{
  text-shadow:
    0 0 5px rgba(0,0,0,.9),
    0 0 10px rgba(33,255,66,.75),
    0 0 18px rgba(22,234,255,.55) !important;
}

/* cleaner chart glass */
.chartbox canvas,
.predictionbox canvas{
  filter:drop-shadow(0 0 2px rgba(0,255,180,.35)) !important;
}

/* realistic scanning reflection */
.panel::after,
.pricebox::after,
.scorebox::after,
.chartbox::after,
.predictionbox::after{
  opacity:.22 !important;
  animation:v12GlassSweep 14s linear infinite !important;
}

/* dim over-bright ticker/status bars */
.topbar,
.v9statusbar,
.v8ticker{
  background:rgba(0,6,14,.42) !important;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
}

/* screen depth vignette */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:19;
  background:radial-gradient(circle at center, transparent 58%, rgba(0,0,0,.32) 100%);
}

/* last price line */
.chartbox .realPriceLine{
  position:absolute;
  left:70px;
  right:18px;
  height:1px;
  background:linear-gradient(90deg,transparent,#21ff42,transparent);
  opacity:.75;
  z-index:4;
  box-shadow:0 0 10px #21ff42;
  pointer-events:none;
}

/* candlestick illusion layer */
.fakeCandles{
  position:absolute;
  left:70px;
  right:18px;
  bottom:55px;
  height:70px;
  z-index:3;
  display:flex;
  align-items:end;
  gap:4px;
  pointer-events:none;
  opacity:.72;
}

.fakeCandles i{
  flex:1;
  max-width:7px;
  min-width:3px;
  border-radius:1px;
  box-shadow:0 0 6px currentColor;
}


/* ===== OBVIOUS CHART REALISM UPGRADE ===== */

.chartbox{
  background:rgba(0,0,0,.18) !important;
}

.fakeCandles{
  position:absolute !important;
  left:70px !important;
  right:18px !important;
  bottom:45px !important;
  height:115px !important;
  z-index:9 !important;
  display:flex !important;
  align-items:flex-end !important;
  gap:5px !important;
  pointer-events:none !important;
  opacity:1 !important;
}

.fakeCandles i{
  flex:1;
  max-width:9px;
  min-width:4px;
  border-radius:2px;
  box-shadow:0 0 9px currentColor;
}

.realPriceLine{
  position:absolute !important;
  left:68px !important;
  right:18px !important;
  height:2px !important;
  background:linear-gradient(90deg,transparent,#21ff42,#16eaff,transparent) !important;
  opacity:1 !important;
  z-index:10 !important;
  box-shadow:0 0 16px #21ff42,0 0 28px #16eaff !important;
  pointer-events:none !important;
}

.realPriceLine::after{
  content:"LIVE PRICE";
  position:absolute;
  right:8px;
  top:-18px;
  color:#21ff42;
  font-size:10px;
  text-shadow:0 0 10px #21ff42;
}

#mainChart{
  opacity:1 !important;
}

/* ===== V13 MULTI-PAGE ANALYTICS ===== */

nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#061320;
  color:#fff;
  border:1px solid #0874b5;
  border-radius:5px;
  padding:10px 16px;
  font-weight:800;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.4px;
  transition:.2s ease;
}

nav a:hover,
nav a.active{
  color:#03101d;
  background:linear-gradient(90deg,#16eaff,#21ff42);
  border-color:#21ff42;
  box-shadow:0 0 18px rgba(22,234,255,.45);
}

.detail-page{
  min-height:100vh;
  overflow:auto;
}

.detail-topbar{
  position:sticky;
  top:0;
  z-index:50;
}

.analytics-shell{
  position:relative;
  z-index:2;
  width:min(1800px,calc(100% - 32px));
  margin:0 auto;
  padding:24px 0 48px;
}

.page-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:18px 4px 24px;
}

.page-title h1{
  margin:4px 0 8px;
  color:#effaff;
  font-size:clamp(30px,4vw,58px);
  letter-spacing:-1.5px;
  text-shadow:0 0 24px rgba(22,234,255,.35);
}

.page-title p{
  max-width:780px;
  margin:0;
  color:#9fc3d8;
  font-size:14px;
}

.page-title small{
  color:#16eaff;
  letter-spacing:2.5px;
  font-weight:900;
}

.snapshot-strip{
  display:grid;
  grid-template-columns:repeat(2,minmax(130px,1fr));
  gap:8px;
  min-width:420px;
}

.snapshot-strip span{
  padding:10px 12px;
  color:#789db4;
  background:rgba(4,15,28,.82);
  border:1px solid #17405d;
  border-radius:7px;
  font-size:10px;
  letter-spacing:1px;
}

.snapshot-strip b{
  display:block;
  margin-top:4px;
  color:#21ff42;
  font-size:14px;
  letter-spacing:0;
}

.analytics-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
}

.analytics-card{
  min-height:300px;
  padding:16px;
}

.span-3{grid-column:span 3}
.span-4{grid-column:span 4}
.span-6{grid-column:span 6}
.span-8{grid-column:span 8}
.span-12{grid-column:span 12}

.card-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}

.card-title h2{
  margin:0 0 4px;
  font-size:15px;
  color:#effaff;
  letter-spacing:.7px;
}

.card-title small{
  color:#789db4;
}

.card-title>b{
  color:#21ff42;
  font-size:11px;
  text-align:right;
}

.chart-stage{
  position:relative;
  height:235px;
}

.chart-stage.tall{
  height:340px;
}

.chart-stage canvas{
  width:100%!important;
  height:100%!important;
  opacity:1!important;
}

.metric-stack{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.hero-metric{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:130px;
  margin-bottom:8px;
  background:radial-gradient(circle,rgba(22,234,255,.15),transparent 68%);
  border:1px solid rgba(22,234,255,.22);
  border-radius:8px;
}

.hero-metric small{color:#789db4;letter-spacing:1.5px}
.hero-metric b{font-size:34px;color:#21ff42;text-shadow:0 0 15px rgba(33,255,66,.5)}
.hero-metric span{color:#16eaff;font-size:11px;font-weight:900}

.step-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.engine-step{
  min-height:150px;
  padding:13px;
  border:1px solid #17405d;
  border-radius:8px;
  background:rgba(3,16,29,.8);
}

.engine-step small{display:block;color:#789db4;letter-spacing:1.5px}
.engine-step b{display:block;margin:6px 0;color:#effaff}
.engine-step span{display:inline-block;padding:4px 7px;border:1px solid #21ff42;border-radius:4px;color:#21ff42;font-size:10px;font-weight:900}
.engine-step p{color:#9fc3d8;font-size:11px;line-height:1.45}

.evidence-gate{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:14px;
  padding:20px 24px;
  min-height:110px;
}

.evidence-gate h2{margin:5px 0;color:#effaff}
.evidence-gate p{margin:0;color:#9fc3d8}
.gate-badge{padding:12px 18px;border:1px solid #ffe000;border-radius:6px;color:#ffe000;font-weight:900;letter-spacing:1px}
.evidence-gate[data-state="COMPLETE"] .gate-badge{color:#21ff42;border-color:#21ff42}
.evidence-gate[data-state="ACTIVE"] .gate-badge{color:#21ff42;border-color:#21ff42;box-shadow:0 0 18px rgba(33,255,66,.2)}
.evidence-gate[data-state="STALE"] .gate-badge{color:#ffe000;border-color:#ffe000}
.evidence-gate[data-state="ERROR"] .gate-badge{color:#ff4b4b;border-color:#ff4b4b}

.coverage-stage{height:150px;margin-bottom:10px}

.empty-chart{
  position:absolute;
  left:24px;
  right:24px;
  top:48%;
  color:#789db4;
  text-align:center;
  pointer-events:none;
}

.research-list{
  margin:5px 0 0;
  padding-left:20px;
  color:#b8d2e2;
  line-height:1.8;
  font-size:13px;
}

.research-list li::marker{color:#16eaff}
.research-list.compact{columns:2;column-gap:40px}

.research-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:18px;
}

.analytics-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.agent-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(235px,1fr));
  gap:12px;
}

.agent-card{
  padding:14px;
  border:1px solid #17405d;
  border-radius:7px;
  background:linear-gradient(145deg,rgba(4,23,39,.88),rgba(2,12,23,.94));
}

.agent-card h3{
  min-height:42px;
  margin:6px 0 10px;
  color:#effaff;
  font-size:15px;
}

.agent-card small{color:#16eaff;letter-spacing:1.5px}
.agent-card .row{font-size:11px}
.agent-card.probe-good{border-color:rgba(33,255,66,.42)}
.agent-card.probe-bad{border-color:rgba(255,75,75,.72);box-shadow:inset 0 0 22px rgba(255,75,75,.08)}
.agent-card.probe-bad small{color:#ff4b4b}

.news-controls{display:flex;align-items:end;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.news-controls label{display:grid;gap:6px;color:#789db4;font-size:10px;letter-spacing:1.3px}
.news-controls input,.news-controls select{min-width:220px;padding:10px 12px;border:1px solid #17405d;border-radius:5px;background:#03101d;color:#effaff}
.news-controls button{padding:10px 16px;border:1px solid #16eaff;border-radius:5px;background:rgba(22,234,255,.08);color:#16eaff;font-weight:900;cursor:pointer}
.news-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:13px}
.news-card{padding:16px;border:1px solid #17405d;border-radius:7px;background:linear-gradient(145deg,rgba(4,23,39,.88),rgba(2,12,23,.94))}
.news-card small{color:#16eaff;letter-spacing:1px}
.news-card h3{margin:9px 0 7px;font-size:16px;line-height:1.35}
.news-card h3 a{color:#effaff;text-decoration:none}
.news-card h3 a:hover{color:#21ff42}
.news-card p{color:#9fc3d8;font-size:12px;line-height:1.55;margin:10px 0 0}
.news-meta{color:#ffe000;font-size:11px}

.method-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:6px 0 14px;
}

.method-grid>div{
  padding:13px;
  border:1px solid #17405d;
  border-radius:7px;
  background:rgba(3,16,29,.72);
}

.method-grid b{color:#16eaff}
.method-grid p{margin:6px 0 0;color:#9fc3d8;font-size:12px;line-height:1.5}

@media(max-width:1200px){
  .detail-topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:10px 18px}
  .detail-topbar .sys{margin-left:0}
  .page-title{align-items:flex-start;flex-direction:column}
  .snapshot-strip{width:100%;min-width:0}
  .span-3,.span-4,.span-6,.span-8{grid-column:span 6}
  .step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:720px){
  nav{width:100%;overflow:auto;margin-left:0}
  nav a{white-space:nowrap;padding:8px 11px}
  .analytics-shell{width:min(100% - 18px,1800px);padding-top:10px}
  .snapshot-strip{grid-template-columns:1fr}
  .analytics-grid{grid-template-columns:1fr}
  .span-3,.span-4,.span-6,.span-8,.span-12{grid-column:1}
  .step-grid,.method-grid{grid-template-columns:1fr}
  .research-grid,.analytics-grid.two{grid-template-columns:1fr}
  .research-list.compact{columns:1}
}

.jarvis-speaking-section{
  outline:2px solid #16eaff!important;
  outline-offset:3px;
  box-shadow:0 0 28px rgba(22,234,255,.42)!important;
}

.jarvis-voice-menu{
  position:fixed;
  z-index:99999;
  width:260px;
  padding:12px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  border:1px solid #16eaff;
  border-radius:7px;
  background:rgba(2,12,23,.97);
  box-shadow:0 0 30px rgba(22,234,255,.4);
  color:#effaff;
}

.jarvis-voice-menu b,.jarvis-voice-menu small{grid-column:1/-1;overflow-wrap:anywhere}
.jarvis-voice-menu b{color:#16eaff;font-size:12px}
.jarvis-voice-menu small{color:#9fc3d8;letter-spacing:1px}
.jarvis-voice-menu button{padding:8px;border-color:#16eaff;color:#effaff;cursor:pointer}

.jarvis-wake-button{
  min-width:118px;
  padding:8px 11px;
  border:1px solid #789db4;
  border-radius:5px;
  background:rgba(4,16,29,.9);
  color:#9fc3d8;
  font-size:10px;
  letter-spacing:1px;
  cursor:pointer;
}
.jarvis-wake-button[data-state="ON"]{
  border-color:#21ff42;
  color:#21ff42;
  box-shadow:0 0 16px rgba(33,255,66,.32);
}
.jarvis-wake-button[data-state="ERROR"]{border-color:#ff4b4b;color:#ff4b4b}
.jarvis-wake-button:disabled{opacity:.55;cursor:not-allowed}

.fundamentals-window{
  box-sizing:border-box;
  width:min(100% - 24px,1920px);
  margin:0 auto 14px;
  padding:20px;
  overflow:visible;
}
.fundamentals-head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.fundamentals-head h2{margin:4px 0 0;font-size:21px}
.fundamentals-head>div:last-child{text-align:right;display:grid;gap:4px;color:#21ff42}
.fundamentals-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px;margin:17px 0 12px}
.fundamentals-grid>div{padding:16px;border:1px solid #17405d;border-radius:7px;background:rgba(3,16,29,.78)}
.fundamentals-grid small{display:block;color:#789db4;letter-spacing:1.2px;font-size:10px}
.fundamentals-grid b{display:block;margin-top:7px;color:#effaff;font-size:clamp(20px,1.8vw,29px);overflow-wrap:anywhere}
.fundamentals-source{color:#789db4;letter-spacing:1px}
@media(max-width:1100px){.fundamentals-grid{grid-template-columns:repeat(2,minmax(190px,1fr))}}
@media(max-width:600px){.fundamentals-grid{grid-template-columns:1fr}.fundamentals-window{width:min(100% - 16px,1920px)}}

.candle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:12px 0 4px}
.candle-timeframes{display:flex;gap:6px}
.candle-timeframes button{padding:7px 12px;border:1px solid #17405d;background:#03101d;color:#9fc3d8;border-radius:4px;cursor:pointer}
.candle-timeframes button.active{border-color:#16eaff;color:#16eaff;background:rgba(22,234,255,.09)}
.candle-ohlc{display:flex;gap:14px;flex-wrap:wrap;color:#789db4;font-size:11px}
.candle-ohlc b{color:#effaff;margin-left:3px}
@media(max-width:720px){.candle-ohlc{gap:8px;font-size:10px}.candle-timeframes{overflow-x:auto;max-width:100%}}

.live-verification-window,.xrpl-observatory{box-sizing:border-box;width:min(100% - 24px,1920px);margin:0 auto 14px;padding:20px;overflow:visible}
.verification-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin:16px 0}
.verification-grid>div{padding:14px;border:1px solid #17405d;border-radius:7px;background:rgba(3,16,29,.78)}
.verification-grid small{display:block;color:#789db4;letter-spacing:1px}.verification-grid b{display:block;margin-top:6px;color:#21ff42;font-size:18px;overflow-wrap:anywhere}
.dashboard-draggable{transform:translate(var(--drag-x,0),var(--drag-y,0));transition:box-shadow .15s;touch-action:auto}
.dashboard-draggable h2,.dashboard-draggable .fundamentals-head{cursor:grab;user-select:none}.dashboard-draggable.is-dragging{z-index:500;position:relative;box-shadow:0 0 35px rgba(22,234,255,.55);transition:none}.dashboard-draggable.is-dragging h2{cursor:grabbing}
.layout-reset{position:fixed;right:16px;bottom:48px;z-index:9000;padding:9px 13px;border:1px solid #16eaff;border-radius:5px;background:rgba(3,16,29,.94);color:#16eaff;cursor:pointer;font-size:10px;letter-spacing:1px}
@media(max-width:1000px){.verification-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:600px){.verification-grid{grid-template-columns:1fr}.live-verification-window,.xrpl-observatory{width:min(100% - 16px,1920px)}}

/* V13.11 dashboard-wide readability and responsive workspace pass */
html,body{
  min-height:100%;
  height:auto;
  overflow-x:hidden;
  overflow-y:auto;
}

.topbar{
  box-sizing:border-box;
  width:100%;
  height:auto;
  min-height:78px;
  padding:10px 18px;
  flex-wrap:wrap;
  position:relative;
}

.topbar nav,.topbar .navlinks{
  flex:1 1 680px;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  min-width:0;
  margin:0;
}

.topbar nav a,.topbar .navlinks a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 11px;
  white-space:normal;
  text-align:center;
  line-height:1.2;
}

.topbar .sys{margin-left:auto;white-space:nowrap}

.grid{
  box-sizing:border-box;
  width:min(100% - 24px,1920px);
  height:auto!important;
  min-height:0!important;
  margin:0 auto;
  padding:14px 0;
  grid-template-columns:minmax(270px,.85fr) minmax(520px,1.8fr) minmax(250px,.8fr) minmax(250px,.8fr);
  align-items:start;
}

.left,.center,.right1,.right2{min-height:0;height:auto}
.grid .panel{height:auto!important;min-height:150px;overflow:visible;padding:16px}
.grid .chartbox{min-height:500px}
.grid .predictionbox{min-height:360px}
.grid .chartbox canvas{height:370px!important}
.grid .predictionbox canvas{height:300px!important}
.grid .pricebox canvas{height:100px!important}
.grid .right1 canvas{height:100px!important}

.bottom,.v7grid,.v11grid{
  box-sizing:border-box;
  width:min(100% - 24px,1920px);
  height:auto!important;
  min-height:0!important;
  margin:0 auto 14px;
  gap:12px;
}

.bottom{grid-template-columns:repeat(5,minmax(210px,1fr));padding:0}
.bottom .panel,.v7grid .panel,.v11grid .panel{height:auto!important;min-height:175px;overflow:visible;padding:16px}

.panel h2,.card-title h2{line-height:1.25;overflow-wrap:anywhere}
.panel p,.panel li,.panel .row,.panel small{line-height:1.55}
.row{gap:14px;align-items:flex-start}
.row span,.row b{overflow-wrap:anywhere}

.analytics-shell{
  box-sizing:border-box;
  width:min(100% - 28px,1920px);
  margin:0 auto;
  padding-bottom:42px;
}

.analytics-card{min-height:340px;padding:20px}
.card-title{align-items:flex-start;flex-wrap:wrap;gap:12px}
.card-title h2{font-size:20px}
.card-title small{font-size:13px;line-height:1.5}
.chart-stage{height:320px}
.chart-stage.tall{height:430px}
.candlestick-window{min-height:700px}
.chart-stage.candlestick-stage{height:610px}

.hero-metrics,.snapshot-strip{flex-wrap:wrap}
.hero-metric{min-width:150px;padding:16px}
.hero-metric b{font-size:clamp(26px,2.2vw,38px)}

.agent-grid{grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:16px}
.agent-card{padding:18px}
.agent-card h3{font-size:16px;min-height:0}
.agent-card .row,.research-list,.news-card p{font-size:13px}
.research-list.compact{columns:1}
.news-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px}
.news-card{padding:20px}
.news-card h3{font-size:18px}

footer{box-sizing:border-box;width:100%;height:auto;min-height:36px;overflow:auto}

@media(max-width:1450px){
  .grid{grid-template-columns:minmax(270px,.9fr) minmax(500px,1.6fr) minmax(270px,.9fr)}
  .right2{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(240px,1fr))}
  .bottom{grid-template-columns:repeat(3,minmax(220px,1fr))}
}

@media(max-width:1050px){
  .grid{grid-template-columns:1fr 1.5fr}
  .right1,.right2{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(240px,1fr))}
  .bottom{grid-template-columns:repeat(2,minmax(220px,1fr))}
  .chart-stage.candlestick-stage{height:520px}
}

@media(max-width:720px){
  .topbar nav,.topbar .navlinks{flex:1 1 100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px}
  .topbar nav a,.topbar .navlinks a{min-width:max-content}
  .grid{width:min(100% - 16px,1920px);grid-template-columns:1fr}
  .right1,.right2{grid-column:auto;display:flex}
  .bottom{width:min(100% - 16px,1920px);grid-template-columns:1fr}
  .analytics-shell{width:min(100% - 16px,1920px)}
  .analytics-card{padding:14px}
  .candlestick-window{min-height:570px}
  .chart-stage.candlestick-stage{height:470px}
  .news-grid,.agent-grid{grid-template-columns:1fr}
  .news-controls label,.news-controls input,.news-controls select{width:100%;min-width:0}
}

/* NOVI AI 14: compact range overlay and evidence-led dashboard windows */
.predictionbox .overlay{
  left:12px;
  right:auto;
  top:auto;
  bottom:12px;
  width:75px;
  padding:5px;
  border-radius:5px;
  line-height:1.15;
}
.predictionbox .overlay small{margin-top:4px;font-size:6px;letter-spacing:.35px}
.predictionbox .overlay b{font-size:8px;overflow-wrap:anywhere}

.forecast-window,.wallet-window{
  box-sizing:border-box;
  width:min(100% - 24px,1920px);
  margin:0 auto 14px;
  padding:20px;
  overflow:visible;
}
.forecast-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(220px,1fr));
  gap:12px;
  margin:17px 0 12px;
}
.forecast-card{
  min-height:190px;
  padding:16px;
  border:1px solid #17405d;
  border-radius:8px;
  background:linear-gradient(145deg,rgba(3,16,29,.90),rgba(5,27,46,.68));
}
.forecast-card.up{border-color:rgba(33,255,66,.48)}
.forecast-card.down{border-color:rgba(255,75,75,.55)}
.forecast-card.neutral{border-color:rgba(255,224,0,.48)}
.forecast-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.forecast-heading h3{margin:0;color:#effaff;font-size:17px}
.forecast-arrow{font-size:31px;font-weight:900;line-height:1}
.forecast-card.up .forecast-arrow{color:#21ff42}
.forecast-card.down .forecast-arrow{color:#ff4b4b}
.forecast-card.neutral .forecast-arrow{color:#ffe000}
.forecast-card .row{padding:5px 0;border-bottom:1px solid rgba(120,157,180,.13)}
.forecast-card .row:last-of-type{border-bottom:0}
.evidence-mix{display:flex;gap:5px;margin-top:12px;font-size:9px;letter-spacing:.6px}
.evidence-mix span{flex:1;padding:5px 3px;border-radius:3px;text-align:center;background:rgba(22,234,255,.08);color:#9fc3d8}
.panel-explainer{margin:10px 0 0;color:#9fc3d8;font-size:12px;line-height:1.55}

.wallet-table-wrap{overflow:auto;margin:17px 0 12px;border:1px solid #17405d;border-radius:7px}
.wallet-table{width:100%;min-width:1380px;border-collapse:collapse;background:rgba(3,16,29,.78)}
.wallet-table th,.wallet-table td{padding:11px 12px;text-align:left;border-bottom:1px solid rgba(120,157,180,.14);white-space:nowrap}
.wallet-table th{position:sticky;top:0;z-index:1;background:#071828;color:#16eaff;font-size:10px;letter-spacing:1px}
.wallet-table td{font-size:12px;color:#d8edf8}
.wallet-table td:nth-child(1){color:#ffe000;font-weight:800}
.wallet-table td:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums}
.wallet-label small{display:block;color:#789db4;margin-top:3px}
.wallet-estimated td{background:rgba(255,224,0,.035)}
.wallet-estimated td:first-child{color:#ffe96b}
.fundamentals-source a{color:#16eaff}

@media(max-width:1150px){.forecast-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media(max-width:620px){
  .forecast-grid{grid-template-columns:1fr}
  .forecast-window,.wallet-window{width:min(100% - 16px,1920px);padding:14px}
}

@supports(content-visibility:auto){
  .bottom,.live-verification-window,.fundamentals-window,.forecast-window,.wallet-window,.v7grid{
    content-visibility:auto;
    contain-intrinsic-size:1px 360px;
  }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* NOVI AI 14.4: full-panel responsive real-time candlestick workspace */
.candlestick-window{
  display:flex;
  flex-direction:column;
  min-height:clamp(650px,82vh,920px)!important;
  background:linear-gradient(145deg,rgba(2,12,22,.94),rgba(4,22,37,.90))!important;
  border-color:rgba(22,234,255,.42)!important;
  box-shadow:inset 0 0 45px rgba(22,234,255,.035),0 0 24px rgba(0,0,0,.24);
}
.candlestick-window>.card-title{flex:0 0 auto}
.candlestick-window .candle-toolbar{flex:0 0 auto;margin:10px 0 8px}
.chart-stage.candlestick-stage{
  position:relative;
  flex:1 1 auto;
  width:100%;
  min-height:500px;
  height:clamp(520px,68vh,780px)!important;
  padding:8px 6px 3px 4px;
  border:1px solid rgba(120,157,180,.20);
  border-radius:7px;
  background:
    linear-gradient(rgba(22,234,255,.018),rgba(22,234,255,.008)),
    rgba(1,9,17,.76);
  overflow:hidden;
}
.chart-stage.candlestick-stage canvas{width:100%!important;height:100%!important}
.candle-live-state{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;color:#16eaff;font-size:10px;letter-spacing:.8px}
.candle-live-state strong{padding:5px 8px;border:1px solid rgba(22,234,255,.34);border-radius:4px;color:#effaff;background:rgba(22,234,255,.06)}
.candle-live-state>span:not(.live-pulse){color:#789db4}
.live-pulse{width:8px;height:8px;border-radius:50%;background:#21ff42;box-shadow:0 0 10px #21ff42;animation:candle-live-pulse 1.6s ease-in-out infinite}
@keyframes candle-live-pulse{50%{opacity:.35;transform:scale(.72)}}
.candle-timeframes button{min-width:46px;font-weight:800;touch-action:manipulation}
.candle-timeframes button:hover{border-color:#16eaff;color:#effaff}
.candle-ohlc{padding:7px 10px;border:1px solid rgba(120,157,180,.18);border-radius:5px;background:rgba(1,9,17,.58);font-variant-numeric:tabular-nums}
.candle-ohlc em{color:#21ff42;font-style:normal;font-weight:900}
.candle-ohlc em.down{color:#ff4b4b}

@media(max-width:720px){
  .candlestick-window{min-height:520px!important;padding:10px!important}
  .candlestick-window .card-title h2{font-size:16px}
  .candlestick-window .card-title small{font-size:10px;line-height:1.3}
  .candle-live-state{justify-content:flex-start;font-size:8px}
  .candlestick-window .candle-toolbar{gap:7px;margin:7px 0}
  .candle-timeframes{width:100%;gap:4px;scrollbar-width:thin}
  .candle-timeframes button{flex:1 0 44px;padding:6px 8px;font-size:10px}
  .candle-ohlc{width:100%;justify-content:space-between;gap:5px;padding:5px 7px;font-size:8px}
  .chart-stage.candlestick-stage{min-height:330px;height:clamp(330px,66vh,470px)!important;padding:3px 2px 1px}
}

@media(max-height:420px) and (orientation:landscape){
  .candlestick-window{min-height:470px!important}
  .chart-stage.candlestick-stage{min-height:300px;height:300px!important}
}

/* NOVI AI smooth-motion profile: preserve canvas movement without costly live blur recomposition */
#bg{will-change:contents;transform:translateZ(0);backface-visibility:hidden}
@media(max-width:720px){
  .panel,.analytics-card,.forecast-card,.snapshot-strip span,.wallet-table-wrap,.topbar{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .panel,.analytics-card{animation:none!important}
  .panel::before,.panel::after,.analytics-card::before,.analytics-card::after{animation:none!important}
}

/* NOVI AI 14.5: professional candle context and touch focus mode */
.candle-live-state b.delayed{color:#ffb347}
.candle-live-state.delayed .live-pulse{background:#ffb347;box-shadow:0 0 10px #ffb347}
.candle-market-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr)) auto;
  gap:7px;
  margin:0 0 8px;
}
.candle-market-summary span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  min-width:0;
  padding:7px 9px;
  border:1px solid rgba(120,157,180,.18);
  border-radius:4px;
  background:rgba(1,9,17,.58);
  color:#789db4;
  font-size:9px;
  letter-spacing:.55px;
}
.candle-market-summary b{color:#effaff;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.candle-market-summary b.down{color:#ff4b4b}
#candleWindowMove:not(.down){color:#21ff42}
#candleCountdown{color:#16eaff}
#candleFocusButton{
  min-height:38px;
  padding:7px 13px;
  border:1px solid #16eaff;
  border-radius:4px;
  background:rgba(22,234,255,.08);
  color:#16eaff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.7px;
  cursor:pointer;
  touch-action:manipulation;
}
#candleFocusButton[aria-pressed="true"]{border-color:#ffe000;color:#ffe000;background:rgba(255,224,0,.10)}
body.chart-focus-open{overflow:hidden!important}
body.chart-focus-open .analytics-shell{position:relative;z-index:100001!important}
body.chart-focus-open .detail-topbar{visibility:hidden;pointer-events:none}
.candlestick-window.chart-focus-mode{
  position:fixed!important;
  inset:0!important;
  z-index:100000!important;
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:12px!important;
  border-radius:0!important;
  background:#020c16!important;
  overflow:hidden!important;
}
.candlestick-window.chart-focus-mode .chart-stage.candlestick-stage{
  min-height:0!important;
  height:auto!important;
  flex:1 1 0!important;
}

@media(max-width:720px){
  .candle-market-summary{grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:4px}
  .candle-market-summary span{padding:5px 6px;font-size:7px}
  .candle-market-summary b{font-size:9px}
  #candleFocusButton{grid-column:3;grid-row:1/3;min-width:62px;min-height:100%;padding:5px;font-size:8px}
}

@media(max-height:420px) and (orientation:landscape){
  .candlestick-window.chart-focus-mode{padding:6px!important}
  .candlestick-window.chart-focus-mode .card-title small{display:none}
  .candlestick-window.chart-focus-mode .card-title h2{font-size:13px}
  .candlestick-window.chart-focus-mode .candle-live-state{font-size:7px}
  .candlestick-window.chart-focus-mode .candle-toolbar{margin:3px 0;gap:3px}
  .candlestick-window.chart-focus-mode .candle-timeframes button{min-width:38px;min-height:28px;padding:3px 5px}
  .candlestick-window.chart-focus-mode .candle-ohlc{padding:3px 5px}
  .candlestick-window.chart-focus-mode .candle-market-summary{margin-bottom:3px}
  .candlestick-window.chart-focus-mode .candle-market-summary span{padding:3px 5px}
}

/* NOVI AI 14.9: validated-ledger whale sonar */
.whale-panel{
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(145deg,rgba(2,13,24,.97),rgba(4,23,39,.94))!important;
  box-shadow:inset 0 0 35px rgba(22,234,255,.035),0 8px 26px rgba(0,0,0,.26)!important;
}
.whale-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.whale-panel-head h2{margin:0}
.whale-live-dot{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#16eaff;
  font-size:8px;
  font-weight:900;
  letter-spacing:.8px;
}
.whale-live-dot::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:#21ff42;
  box-shadow:0 0 8px rgba(33,255,66,.8);
}
.whale-radar{
  --whale-accent:#16eaff;
  --whale-border:rgba(22,234,255,.36);
  --whale-glow:rgba(22,234,255,.12);
  position:relative;
  height:126px;
  margin:9px 0 10px;
  overflow:hidden;
  border:1px solid var(--whale-border);
  border-radius:7px;
  background:
    linear-gradient(90deg,rgba(22,234,255,.035) 1px,transparent 1px),
    linear-gradient(rgba(22,234,255,.035) 1px,transparent 1px),
    radial-gradient(circle at 52% 52%,var(--whale-glow),transparent 64%),
    rgba(1,10,19,.72);
  background-size:22px 22px,22px 22px,auto,auto;
  transition:border-color .35s ease,background-color .35s ease;
}
.whale-radar[data-activity="active"]{--whale-accent:#ffe000;--whale-border:rgba(255,224,0,.40);--whale-glow:rgba(255,224,0,.12)}
.whale-radar[data-activity="high"]{--whale-accent:#ff7a45;--whale-border:rgba(255,122,69,.46);--whale-glow:rgba(255,122,69,.14)}
.whale-radar[data-activity="unavailable"]{--whale-accent:#789db4;--whale-border:rgba(120,157,180,.28);--whale-glow:rgba(120,157,180,.08)}
.whale-radar svg{display:block;width:100%;height:104px;color:var(--whale-accent)}
.whale-radar>span{
  position:absolute;
  right:8px;
  bottom:6px;
  color:var(--whale-accent);
  font-size:7px;
  font-weight:800;
  letter-spacing:.8px;
}
.whale-sonar circle{
  fill:none;
  stroke:currentColor;
  stroke-width:1;
  opacity:.12;
  transform-box:fill-box;
  transform-origin:center;
}
.whale-radar[data-activity="active"] .whale-sonar circle,
.whale-radar[data-activity="high"] .whale-sonar circle{animation:whale-sonar-pulse 2.8s ease-out infinite}
.whale-sonar circle:nth-child(2){animation-delay:.45s!important}
.whale-sonar circle:nth-child(3){animation-delay:.9s!important}
.whale-figure{animation:whale-float 5.8s ease-in-out infinite;transform-origin:center}
.whale-body,.whale-tail,.whale-dorsal{fill:url(#whaleBodyGradient);stroke:#7eb2bf;stroke-width:1.05}
.whale-tail{transform-box:fill-box;transform-origin:right center;animation:whale-tail 2.9s ease-in-out infinite}
.whale-belly{fill:url(#whaleBellyGradient);opacity:.86}
.whale-flipper{fill:#2b6171;stroke:#8ab7c0;stroke-width:1;opacity:.92}
.whale-dorsal{opacity:.88}
.whale-eye{fill:#01080d;stroke:#d8edf2;stroke-width:.8}
.whale-blowhole{fill:#07151c;stroke:#9fcbd4;stroke-width:.6}
.whale-mouth,.whale-jaw{fill:none;stroke:#173642;stroke-width:1.5;stroke-linecap:round}
.whale-spout{fill:none;stroke:#a8dce5;stroke-width:1.5;stroke-linecap:round}
.whale-spout{stroke:currentColor;opacity:.82;stroke-dasharray:4 3;animation:whale-spout 2.7s linear infinite}
.whale-texture{fill:#b9d7dc;opacity:.24}
.whale-grooves path{fill:none;stroke:#aacbd2;stroke-width:.75;stroke-linecap:round;opacity:.42}
.whale-bubbles{fill:currentColor;opacity:.55;animation:whale-bubbles 3.4s ease-in-out infinite}
.whale-scan-line{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:24 150;opacity:.45;animation:whale-scan 3.2s linear infinite}
.whale-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:8px}
.whale-metrics>div{min-width:0;padding:6px 7px;border:1px solid rgba(120,157,180,.14);border-radius:4px;background:rgba(1,9,17,.50)}
.whale-metrics span,.whale-metrics b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.whale-metrics span{color:#789db4;font-size:7px;letter-spacing:.55px}
.whale-metrics b{margin-top:3px;color:#effaff;font-size:10px;font-variant-numeric:tabular-nums}
.whale-insight{min-height:30px;margin:5px 0 8px;color:#9fc3d8;font-size:9px;line-height:1.45}

@keyframes whale-sonar-pulse{0%{opacity:.55;transform:scale(.72)}100%{opacity:0;transform:scale(1.12)}}
@keyframes whale-float{50%{transform:translate3d(0,-3px,0)}}
@keyframes whale-tail{50%{transform:rotate(-7deg) scaleX(.94)}}
@keyframes whale-spout{to{stroke-dashoffset:-28}}
@keyframes whale-bubbles{50%{transform:translate3d(0,-5px,0);opacity:.85}}
@keyframes whale-scan{to{stroke-dashoffset:-174}}

@media(max-width:720px){
  .whale-radar{height:104px;margin:7px 0}
  .whale-radar svg{height:90px}
  .whale-metrics>div{padding:5px 6px}
  .whale-insight{min-height:0}
}

@media(prefers-reduced-motion:reduce){
  .whale-sonar circle,.whale-figure,.whale-tail,.whale-spout,.whale-bubbles,.whale-scan-line{animation:none!important}
}

/* NOVI AI 14.10: lightweight live-data instrument emblems */
.instrument-title{display:flex!important;align-items:center;gap:13px;min-width:0;text-align:left!important}
.instrument-title>div:last-child{min-width:0}
.panel-instrument{
  position:relative;
  flex:0 0 88px;
  width:88px;
  height:62px;
  overflow:hidden;
  border:1px solid rgba(22,234,255,.27);
  border-radius:7px;
  background:linear-gradient(145deg,rgba(5,31,48,.88),rgba(1,11,20,.92));
  color:#16eaff;
  box-shadow:inset 0 0 18px rgba(22,234,255,.055);
}
.panel-instrument svg{display:block;width:88px;height:56px;overflow:visible}
.panel-instrument>span{
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  overflow:hidden;
  color:#9fc3d8;
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.45px;
  line-height:1;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.panel-instrument[data-state="ready"]{color:#21ff42;border-color:rgba(33,255,66,.35)}
.panel-instrument[data-state="degraded"],.panel-instrument[data-state="unavailable"]{color:#ff7a45;border-color:rgba(255,122,69,.38)}

.verification-instrument .instrument-grid{fill:none;stroke:currentColor;stroke-width:.55;opacity:.12}
.verification-instrument .shield{fill:rgba(22,234,255,.08);stroke:currentColor;stroke-width:1.7}
.verification-instrument .check{fill:none;stroke:currentColor;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:42;animation:instrument-check 3.6s ease-in-out infinite}
.verification-instrument .circuit{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;opacity:.7}

.market-instrument .orbit{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:5 4;opacity:.48;animation:instrument-orbit 8s linear infinite}
.market-instrument .orbit-b{animation-direction:reverse;animation-duration:6s}
.market-instrument .planet{fill:rgba(22,234,255,.10);stroke:currentColor;stroke-width:1.2}
.market-instrument .xrp-mark{fill:none;stroke:#effaff;stroke-width:2.1;stroke-linecap:round}
.market-instrument .satellite{fill:#ffe000;animation:instrument-satellite 2.6s ease-in-out infinite}

.forecast-instrument .axis{fill:none;stroke:#789db4;stroke-width:1}
.forecast-instrument .fan-low,.forecast-instrument .fan-mid,.forecast-instrument .fan-high{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.forecast-instrument .fan-low,.forecast-instrument .fan-high{stroke-dasharray:3 3;opacity:.65}
.forecast-instrument .fan-fill{fill:rgba(22,234,255,.09);stroke:none;animation:instrument-fan 3.8s ease-in-out infinite}
.forecast-instrument .origin{fill:#effaff}
.forecast-instrument[data-direction="up"]{color:#21ff42;border-color:rgba(33,255,66,.34)}
.forecast-instrument[data-direction="down"]{color:#ff4b4b;border-color:rgba(255,75,75,.38)}

.wallet-instrument{flex-basis:118px;width:118px;height:74px;color:#16eaff}
.wallet-instrument svg{width:118px;height:66px}
.wallet-lid{transform-box:fill-box;transform-origin:center bottom;animation:wallet-open-close 6.4s ease-in-out infinite}
.wallet-lid>path:first-child{fill:#183f54;stroke:#6fb6ca;stroke-width:1.2}
.wallet-lid-seam{fill:none;stroke:#9fc3d8;stroke-width:.8;stroke-dasharray:3 2;opacity:.65}
.wallet-body{fill:#0d293a;stroke:#6fb6ca;stroke-width:1.5}
.wallet-pocket{fill:#153d51;stroke:#27708a;stroke-width:1}
.wallet-stitch{fill:none;stroke:#9fc3d8;stroke-width:.65;stroke-dasharray:2.5 2.5;opacity:.58}
.wallet-clasp rect{fill:#205d75;stroke:#8cd6e4;stroke-width:1}
.wallet-clasp circle{fill:#ffe000;stroke:#fff1a2;stroke-width:.7}
.wallet-token{transform-box:fill-box;transform-origin:center;opacity:0;animation:wallet-token-flow 6.4s ease-in-out infinite}
.wallet-token circle{fill:#d99c00;stroke:#fff0a0;stroke-width:1.1}
.wallet-token text{fill:#fff8d5;font:900 8px Arial,sans-serif;text-anchor:middle}
.wallet-token.token-a{--token-x:-9px;--token-y:-24px;animation-delay:.08s}
.wallet-token.token-b{--token-x:0px;--token-y:-31px;animation-delay:.22s}
.wallet-token.token-c{--token-x:10px;--token-y:-23px;animation-delay:.36s}
.wallet-visual-disclosure{display:block;margin:0 0 7px;color:#ffe000;font-size:8px;letter-spacing:.75px}

@keyframes instrument-check{0%,20%{stroke-dashoffset:42;opacity:.35}45%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes instrument-orbit{to{stroke-dashoffset:-54}}
@keyframes instrument-satellite{50%{opacity:.4;transform:scale(.72);transform-origin:center}}
@keyframes instrument-fan{50%{opacity:.42}}
@keyframes wallet-open-close{
  0%,12%,88%,100%{transform:translateY(12px) scaleY(.18);opacity:.55}
  26%,72%{transform:translateY(0) scaleY(1);opacity:1}
}
@keyframes wallet-token-flow{
  0%,24%,82%,100%{transform:translate(0,0) scale(.72);opacity:0}
  38%,62%{transform:translate(var(--token-x),var(--token-y)) scale(1);opacity:1}
  72%{transform:translate(0,-6px) scale(.86);opacity:.65}
}

@media(max-width:720px){
  .instrument-title{gap:8px}
  .panel-instrument{flex-basis:72px;width:72px;height:52px}
  .panel-instrument svg{width:72px;height:47px}
  .panel-instrument>span{font-size:5.7px}
  .instrument-title h2{font-size:15px!important}
  .instrument-title small{font-size:7px}
  .wallet-instrument{flex-basis:92px;width:92px;height:60px}
  .wallet-instrument svg{width:92px;height:53px}
}

@media(prefers-reduced-motion:reduce){
  .verification-instrument .check,.market-instrument .orbit,.market-instrument .satellite,.forecast-instrument .fan-fill,.wallet-lid,.wallet-token{animation:none!important}
  .wallet-lid{transform:none;opacity:1}.wallet-token{opacity:.75;transform:translateY(-15px)}
}
