/* ═════ Liquid Glass · movimiento fluido (capa visual; no cambia la lógica) ═════ */
:root{
  --glass:rgba(11,15,24,.6);--glass-2:rgba(22,29,44,.66);--glass-line:rgba(255,255,255,.10);--glass-hi:rgba(255,255,255,.16);
  --shine:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,0) 42%);
  --blur:blur(22px) saturate(1.7);--blur-s:blur(12px) saturate(1.5);
  --ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --shadow:0 10px 34px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.09);
}
.light{--glass:rgba(255,255,255,.55);--glass-2:rgba(255,255,255,.72);--glass-line:rgba(20,40,80,.10);--glass-hi:rgba(255,255,255,.9);
  --shine:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,255,255,0) 45%);--shadow:0 10px 30px rgba(30,60,120,.14),inset 0 1px 0 rgba(255,255,255,.9)}

#app{position:relative;z-index:0}

/* Barras y paneles de cristal */
.topbar{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--glass-line);position:relative;z-index:5;box-shadow:inset 0 -1px 0 rgba(255,255,255,.03)}
.bottom-nav{position:relative;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-top:1px solid var(--glass-line);z-index:5}
.bottom-nav button{position:relative;z-index:1;transition:color .3s var(--ease),transform .35s var(--spring)}
.bottom-nav button span{transition:transform .4s var(--spring),filter .3s}
.bottom-nav button:active span{transform:scale(.82)}
.bottom-nav button.active span{transform:translateY(-2px) scale(1.12);filter:drop-shadow(0 0 8px var(--accent))}
.bottom-nav::before{content:'';position:absolute;z-index:0;top:7px;bottom:calc(7px + env(safe-area-inset-bottom));left:0;width:var(--pill-w,0);transform:translateX(var(--pill-x,0));border-radius:16px;background:var(--glass-2);border:1px solid var(--glass-hi);box-shadow:var(--shadow);opacity:0;transition:transform .5s var(--spring),width .4s var(--ease),opacity .3s;margin:0 6px;box-sizing:border-box;width:calc(var(--pill-w,0px) - 12px);left:0}
.bottom-nav.has-pill::before{opacity:1}
@media(min-width:1024px){
  #watchView,#newsView,#aiView,#settingsView,#customView,#notifView,#alertsView,#discordView{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-color:var(--glass-line)}
  .side-tabs{background:var(--glass);-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);border-color:var(--glass-line)}
  .side-tabs button{transition:background .35s var(--ease),color .3s,transform .3s var(--spring)}
  .side-tabs button:hover{color:var(--text)}.side-tabs button:active{transform:scale(.95)}
  .side-tabs button.active{background:var(--glass-2);box-shadow:var(--shadow)}
}

/* Tarjetas, filas y controles */
.summary,.setting-row,.nw-item,.search,.script-row,.chart-toolbar button,.small-button,.icon-btn,.account-btn,.chart-controls button,.nw-tabs button,.nw-chips button,.nw-ref,.nw-more{
  background:var(--glass);-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);border:1px solid var(--glass-line);box-shadow:var(--shadow)}
.summary,.setting-row,.nw-item{background-image:var(--shine);border-radius:16px}
.search{border-radius:14px;transition:box-shadow .3s var(--ease),border-color .3s}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(84,143,255,.22),var(--shadow)}
.chart-toolbar{background:transparent;border-color:var(--glass-line)}
.chart-toolbar button,.small-button,.icon-btn,.account-btn,.chart-controls button,.nw-ref{border-radius:12px}
.timeframes button{transition:background .3s var(--ease),color .25s,transform .3s var(--spring)}
.timeframes button.active{background:var(--glass-2);box-shadow:var(--shadow);border:1px solid var(--glass-hi)}
.chart-foot,.chart-heading{background:transparent}
.chart-foot{border-color:var(--glass-line)}
.nw-tabs button.on{background:linear-gradient(135deg,var(--accent),#7aa9ff);color:#fff;border-color:transparent;box-shadow:0 6px 22px rgba(84,143,255,.45)}
.nw-calbox{background:var(--glass);border-color:var(--glass-line);border-radius:16px;box-shadow:var(--shadow)}
.watch-row{border-color:var(--glass-line);border-radius:12px;transition:background .25s var(--ease),transform .35s var(--spring)}
.watch-row:hover{background:rgba(255,255,255,.05)}
.watch-row:active{transform:scale(.985)}
.primary{background:linear-gradient(135deg,var(--accent),#7aa9ff);box-shadow:0 10px 28px rgba(84,143,255,.4);border-radius:16px}
.brand-icon{box-shadow:0 6px 22px rgba(84,143,255,.55),inset 0 1px 0 rgba(255,255,255,.4);animation:glow 4.5s ease-in-out infinite alternate}
@keyframes glow{to{box-shadow:0 6px 30px rgba(122,169,255,.8),inset 0 1px 0 rgba(255,255,255,.5)}}
.toggle{transition:background .35s var(--ease)}.toggle:after{transition:left .4s var(--spring),width .2s;box-shadow:0 2px 6px rgba(0,0,0,.35)}.toggle:active:after{width:24px}
.toggle.on{box-shadow:0 0 14px rgba(84,143,255,.55)}

/* Transiciones de pantalla y entradas escalonadas */
.view.active:not(.chart-view){animation:viewIn .5s var(--ease) both}
@keyframes viewIn{from{opacity:0;transform:translateY(14px) scale(.985);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.chart-view.active{animation:chartIn .45s var(--ease) both}
@keyframes chartIn{from{opacity:0}to{opacity:1}} /* solo opacidad: con escala el gráfico se medía 1 % más chico y luego «brincaba» al tamaño real */
.chart-area.swap-in canvas{animation:swapIn .6s var(--ease) both}
@keyframes swapIn{from{opacity:.0;transform:translateX(18px) scale(.985)}to{opacity:1;transform:none}}
.nw-item{animation:itemIn .55s var(--ease) both}
.nw-item:nth-child(2){animation-delay:.04s}.nw-item:nth-child(3){animation-delay:.08s}.nw-item:nth-child(4){animation-delay:.12s}.nw-item:nth-child(5){animation-delay:.16s}.nw-item:nth-child(n+6){animation-delay:.2s}
@keyframes itemIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.nw-item:hover{transform:translateY(-2px);transition:transform .35s var(--spring);border-color:var(--glass-hi)}
.nw-new{animation:pulse 1.8s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 5px rgba(32,191,159,.0),0 0 14px rgba(32,191,159,.8)}}
.nw-status:not(.warn){position:relative}
.live-dot.on{animation:live 2s ease-in-out infinite}
@keyframes live{50%{box-shadow:0 0 0 5px rgba(32,191,159,0),0 0 12px var(--green)}}
.connection.online{text-shadow:0 0 10px rgba(32,191,159,.6)}

/* Hojas, diálogos y avisos de cristal con resorte */
.sheet-backdrop{display:block;visibility:hidden;opacity:0;background:rgba(3,7,14,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .35s var(--ease),visibility 0s .35s}
.sheet-backdrop.open{visibility:visible;opacity:1;transition:opacity .35s var(--ease)}
.sheet{background:var(--glass-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-hi);border-bottom:0;box-shadow:0 -20px 60px rgba(0,0,0,.45),inset 0 1px 0 var(--glass-hi);transition:transform .55s var(--spring);border-radius:26px 26px 0 0}
.sheet-handle{background:var(--glass-hi)}
.sheet-item{border-color:var(--glass-line);transition:background .2s}.sheet-item:active{background:rgba(255,255,255,.08)}
.cfg-overlay{background:rgba(3,7,14,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn .3s var(--ease) both}
.cfg-dlg{background:var(--glass-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-hi);border-radius:22px;animation:dlgIn .5s var(--spring) both}
@keyframes fadeIn{from{opacity:0}}
@keyframes dlgIn{from{opacity:0;transform:translateY(24px) scale(.94)}}
#toast{background:var(--glass-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-hi);border-radius:16px;box-shadow:var(--shadow)}
#toast[style*="block"],#toast.show{animation:toastIn .45s var(--spring) both}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(18px) scale(.9)}}
.draw-hint{background:var(--glass-2);-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);border-radius:16px;box-shadow:var(--shadow)}

/* Gráfico: leyenda e interfaz sobre el lienzo */
.chart-feedback{background:var(--glass-2);-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);border:1px solid var(--glass-hi);border-radius:14px}
.leg-row{-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);border-radius:10px;transition:background .25s,transform .3s var(--spring)}
.leg-row:hover{background:rgba(255,255,255,.07)}
#brushOpts,.pine-tip{-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s)}
.chart-controls button{transition:transform .3s var(--spring),background .25s}.chart-controls button:hover{background:var(--glass-2)}.chart-controls button:active{transform:scale(.88)}
.chart-area{border-radius:0}

/* Micro-interacciones: levantar al pasar, hundir al tocar, onda de luz */
button{transition:transform .3s var(--spring),background-color .25s var(--ease),border-color .25s,box-shadow .3s var(--ease),color .25s}
@media(hover:hover){.chart-toolbar button:hover,.small-button:hover,.icon-btn:hover,.account-btn:hover,.nw-ref:hover,.nw-chips button:hover,.nw-tabs button:hover{transform:translateY(-1px);background-color:var(--glass-2);border-color:var(--glass-hi)}}
button:active:not(.toggle):not(.watch-row){transform:scale(.95)}
button,.watch-row,.sheet-item,.setting-row,.small-button{position:relative;overflow:hidden}
.chart-controls button,.chart-toolbar button,.leg-row button{overflow:visible}
.rip::after{content:'';position:absolute;left:var(--rx,50%);top:var(--ry,50%);width:10px;height:10px;margin:-5px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.45),rgba(255,255,255,0) 70%);pointer-events:none;animation:rip .65s var(--ease) forwards}
@keyframes rip{to{transform:scale(22);opacity:0}}
.flash-up,.flash-down{will-change:color}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:8px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.26);background-clip:padding-box;border:2px solid transparent}
::selection{background:rgba(84,143,255,.4)}

/* Sin blur donde no hay soporte, y respeto a «reducir movimiento» */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  :root{--glass:var(--surface);--glass-2:var(--raised)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Barra de selección de dibujos */
.sel-bar{position:absolute;left:50%;bottom:calc(46px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:6px;padding:6px 8px;max-width:calc(100% - 16px);overflow-x:auto;background:var(--glass-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-hi);border-radius:18px;box-shadow:var(--shadow);animation:selIn .35s var(--spring) both;scrollbar-width:none}
.sel-bar button{flex:0 0 auto;min-width:34px;height:34px;border-radius:12px;border:1px solid var(--glass-line);background:var(--glass);color:var(--text);font-size:14px;padding:0 10px}
.sel-bar button.danger{color:var(--red);border-color:var(--red);font-size:12px;font-weight:700}
.sel-bar .bsw{min-width:24px;width:24px;height:24px;padding:0;border-radius:50%}
.sel-bar .bsw.on{outline:2px solid var(--text);outline-offset:2px}
@keyframes selIn{from{opacity:0;transform:translateX(-50%) translateY(14px) scale(.92)}}

/* Menú desplegable de cristal */
.pop-menu{position:fixed;z-index:60;min-width:190px;padding:6px;display:flex;flex-direction:column;gap:2px;background:var(--glass-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-hi);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.5),var(--shadow);animation:selIn .3s var(--spring) both}
.pop-menu button{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:none;color:var(--text);padding:10px 12px;border-radius:11px;font-size:14px}
.pop-menu button span{width:22px;text-align:center;opacity:.85}
.pop-menu button:hover{background:rgba(255,255,255,.08)}.pop-menu button.on{background:var(--accent);color:#fff}
#pane2{background:transparent}
.ai-msg.bot,.ai-cfg,.ai-chips button,.ai-form input,.ai-gear{background:var(--glass);-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);border-color:var(--glass-line)}
.ai-msg.user{background:linear-gradient(135deg,var(--accent),#7aa9ff);box-shadow:0 6px 20px rgba(84,143,255,.35)}
.ai-send{background:linear-gradient(135deg,var(--accent),#7aa9ff);box-shadow:0 6px 18px rgba(84,143,255,.4)}

/* ───────── Barra flotante de propiedades de un dibujo (estilo TradingView) ───────── */
.pbar{position:absolute;left:50%;bottom:calc(46px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:7;display:flex;align-items:center;gap:1px;padding:4px 6px 4px 2px;max-width:calc(100% - 12px);overflow-x:auto;scrollbar-width:none;background:rgba(19,23,34,.96);color:#d1d4dc;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,.5);user-select:none;-webkit-user-select:none;touch-action:manipulation}
.pbar::-webkit-scrollbar{display:none}
.pbar button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:32px;height:34px;padding:0 6px;border:0;border-radius:6px;background:transparent;color:inherit;font-size:12px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}
.pbar button:hover,.pbar button.open{background:rgba(255,255,255,.1)}
.pbar button svg{display:block}
.pbar.locked [data-sb="lock"]{color:#f9a825}
.sb-grip{flex:0 0 auto;width:16px;text-align:center;letter-spacing:-3px;font-size:13px;line-height:1;color:#6a6d78;cursor:grab;padding:9px 0;touch-action:none}
.sb-sep{flex:0 0 auto;width:1px;height:20px;background:rgba(255,255,255,.14);margin:0 3px}
.sb-st{display:flex;flex-direction:column;align-items:center;gap:2px}
.sb-ul{display:block;width:18px;height:3px;border-radius:2px}
.sb-ln{display:block;width:20px;background:currentColor;border-radius:1px}
.pbar b{font-weight:600;font-size:12px}
.pbar-pop{position:absolute;z-index:8;width:232px;max-width:calc(100% - 12px);max-height:min(72%,420px);overflow-y:auto;padding:10px;background:rgba(19,23,34,.98);color:#d1d4dc;border:1px solid rgba(255,255,255,.12);border-radius:10px;box-shadow:0 10px 32px rgba(0,0,0,.55);font-size:13px;overscroll-behavior:contain;touch-action:pan-y}
.pp-title{font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#868993;margin:0 0 8px}
.pp-lbl{display:block;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#868993;margin:12px 0 6px}
.pp-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}
.pp-sw{aspect-ratio:1;min-width:0;padding:0;border-radius:4px;border:1px solid rgba(255,255,255,.18);cursor:pointer}
.pp-sw.on{outline:2px solid #fff;outline-offset:1px}
.pp-custom{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px;color:#9598a1}
.pp-custom input{width:44px;height:26px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:5px;background:none}
.pp-row{display:flex;gap:6px;flex-wrap:wrap}
.pp-col{display:flex;flex-direction:column;gap:2px}
.pp-lw{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:40px;padding:7px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.14);background:transparent;color:inherit;font-size:11px;cursor:pointer}
.pp-lw i{display:block;width:24px;background:currentColor;border-radius:1px}
.pp-lw.on,.pp-item.on{background:rgba(84,143,255,.22);border-color:#548fff}
.pp-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;font-size:13px;text-align:left;cursor:pointer}
.pp-item:hover{background:rgba(255,255,255,.08)}
.pp-item small{margin-left:auto;color:#868993;font-size:11px}
.pp-ic{width:20px;text-align:center}
.pp-sep{height:1px;background:rgba(255,255,255,.1);margin:5px 0}
.pp-input{flex:1;min-width:0;height:34px;padding:0 9px;border:1px solid rgba(255,255,255,.2);border-radius:6px;background:rgba(255,255,255,.06);color:#fff;font-size:14px}
.pp-ok{height:34px;padding:0 12px;border:0;border-radius:6px;background:#2962ff;color:#fff;font-weight:700;cursor:pointer}
.pp-note{margin:8px 2px 2px;font-size:12px;line-height:1.5;color:#868993}
.pp-tpl{display:flex;align-items:center;gap:2px}
.pp-tpl .pp-item{flex:1}
.pp-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}
.pp-x{flex:0 0 auto;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:#868993;font-size:18px;cursor:pointer}
.pp-x:hover{background:rgba(242,54,69,.2);color:#f23645}
/* Ajustes propios de cada herramienta: niveles (Fibonacci, Gann…), deslizadores y colores desplegables */
.pp-range{width:100%;height:26px;margin:0;accent-color:#548fff;cursor:pointer}
.pp-lbl b{float:right;color:#d1d4dc;font-weight:700;letter-spacing:0}
.pp-sub{margin:4px 0 8px;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.03)}
.pp-sub .pp-lbl:first-child{margin-top:0}
.pp-item.open{background:rgba(255,255,255,.08)}
.pp-lvs{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.pp-lv{display:flex;align-items:center;gap:2px;min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:6px;opacity:.55}
.pp-lv.on{opacity:1;background:rgba(84,143,255,.16);border-color:rgba(84,143,255,.7)}
.pp-lv button:first-child{flex:1;min-width:0;display:flex;align-items:center;gap:4px;padding:7px 4px 7px 2px;border:0;background:transparent;color:inherit;font-size:12.5px;text-align:left;cursor:pointer}
.pp-lv .pp-ic{width:18px;flex:0 0 auto}
.pp-lvc{flex:0 0 auto;width:16px;height:16px;margin-right:6px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.35);cursor:pointer}
.pp-lvc.open{outline:2px solid #fff;outline-offset:1px}
.pp-lvadd{margin-top:6px;flex-wrap:nowrap}
.light .pp-lv{border-color:rgba(20,40,80,.16)}.light .pp-lbl b{color:#182234}.light .pp-sub{border-color:rgba(20,40,80,.14);background:rgba(20,40,80,.03)}.light .pp-lvc{border-color:rgba(20,40,80,.3)}
.pbar-hidden{position:absolute;left:10px;bottom:calc(44px + env(safe-area-inset-bottom,0px));z-index:6;padding:6px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(19,23,34,.94);color:#d1d4dc;font-size:12px;font-weight:600;cursor:pointer}
@media(min-width:720px){.pbar{bottom:auto;top:46px}.pbar button{min-width:34px;padding:0 8px}.pbar-pop{width:248px}.pbar-hidden{bottom:48px}}
@media(max-width:420px){.pbar button{min-width:29px;padding:0 4px}.sb-sep{margin:0 1px}}
.light .pbar,.light .pbar-pop,.light .pbar-hidden{background:rgba(255,255,255,.98);color:#182234;border-color:rgba(20,40,80,.16)}
.light .pbar button:hover,.light .pbar button.open,.light .pp-item:hover{background:rgba(20,40,80,.08)}
.light .pp-input{background:#f4f7fc;color:#182234;border-color:rgba(20,40,80,.2)}

/* Favoritos en celular: botón flotante con estrella que despliega la barra (se pliega al usar una herramienta) */
.fav-fab{position:absolute;left:10px;top:0;z-index:8;touch-action:none;user-select:none;-webkit-user-select:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;color:#f1d27a;cursor:pointer;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.04)),rgba(19,23,34,.55);border:1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
  box-shadow:0 8px 22px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.28),0 0 14px rgba(241,210,122,.15);
  transition:transform .25s cubic-bezier(.3,1.4,.5,1),box-shadow .25s,color .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.fav-fab svg{transition:transform .35s cubic-bezier(.3,1.4,.5,1);fill:rgba(241,210,122,.25)}
.fav-fab:active{transform:scale(.92)}
.fav-fab.drag{transform:scale(1.12);transition:none;cursor:grabbing;box-shadow:0 14px 30px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.3),0 0 22px rgba(241,210,122,.4)}
.fav-fab.open{box-shadow:0 8px 22px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.28),0 0 18px rgba(241,210,122,.45)}
.fav-fab.open svg{transform:rotate(72deg) scale(1.08);fill:rgba(241,210,122,.55)}
.fav-fab.active:not(.open){color:var(--accent)}
.favbar.fb-mobile{right:auto;height:44px;padding:4px 8px;border-radius:22px;max-width:calc(100% - 74px);z-index:8;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.03)),rgba(19,23,34,.58);border:1px solid rgba(255,255,255,.2);
  -webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);box-shadow:0 10px 28px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.25);
  opacity:0;transform:translateX(var(--fb-from,-14px)) scale(.7);pointer-events:none;visibility:hidden;
  transition:opacity .2s ease,transform .28s cubic-bezier(.3,1.3,.5,1),visibility 0s .28s}
.favbar.fb-mobile.open{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .2s ease,transform .28s cubic-bezier(.3,1.3,.5,1),visibility 0s}
.favbar.fb-mobile .fb-btn{width:38px;height:36px;border-radius:50%}
.favbar.fb-mobile .fb-btn.on{background:rgba(84,143,255,.28);box-shadow:0 0 10px rgba(84,143,255,.35)}
@media (prefers-reduced-motion:reduce){.fav-fab,.fav-fab svg,.favbar.fb-mobile{transition:none!important}}

/* Ajustes: tema como botón de icono (sol en claro, luna en oscuro) y saldo de la cuenta */
.setting-row.compact{padding:10px 14px}
.theme-ico{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;color:var(--text);cursor:pointer;overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.03)),var(--raised);border:1px solid var(--glass-line,rgba(255,255,255,.16));box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.theme-ico svg{grid-area:1/1;transition:transform .45s cubic-bezier(.3,1.3,.5,1),opacity .25s}
.theme-ico .ti-sun{color:#f2b33d;transform:rotate(-90deg) scale(.3);opacity:0}
.theme-ico .ti-moon{color:#9db8ff;transform:none;opacity:1}
body.light .theme-ico .ti-sun{transform:none;opacity:1}
body.light .theme-ico .ti-moon{transform:rotate(90deg) scale(.3);opacity:0}
.theme-ico:active{transform:scale(.93)}
.acct-row{background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.01)),var(--surface)}
.acct-btn{display:inline-flex;align-items:center;gap:7px;flex:none;padding:9px 14px;border-radius:999px;font-weight:700;font-size:12px;color:#fff;cursor:pointer;
  background:linear-gradient(135deg,var(--accent),#7b6cf6);border:1px solid rgba(255,255,255,.25);box-shadow:0 6px 16px rgba(84,143,255,.3),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .15s,box-shadow .2s}
.acct-btn:hover{box-shadow:0 8px 20px rgba(84,143,255,.42),inset 0 1px 0 rgba(255,255,255,.35)}.acct-btn:active{transform:scale(.95)}
@media (prefers-reduced-motion:reduce){.theme-ico svg{transition:none}}
#settingsView .setting-row{margin-bottom:10px}#settingsView .setting-row.action-row{margin-bottom:0}

/* Ajustes modernos: círculos de cristal con su nombre debajo */
.set-tiles{display:flex;flex-wrap:wrap;gap:18px 22px;padding:4px 2px 6px}
.set-tile{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:64px}
.set-circle{position:relative;display:grid;place-items:center;width:56px;height:56px;padding:0;border-radius:50%;color:var(--text);cursor:pointer;overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.03)),var(--raised);border:1px solid var(--glass-line,rgba(255,255,255,.16));
  box-shadow:0 8px 20px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .2s cubic-bezier(.3,1.4,.5,1),box-shadow .2s;-webkit-tap-highlight-color:transparent}
.set-circle:hover{box-shadow:0 10px 24px rgba(84,143,255,.3),inset 0 1px 0 rgba(255,255,255,.28)}.set-circle:active{transform:scale(.92)}
.set-circle svg{grid-area:1/1}
.set-cap{font-size:11px;font-weight:650;color:var(--muted);letter-spacing:.2px}
.ab-h.mini{width:52px;max-width:52px;height:5px;margin-top:-2px}
#accountBox+.set-tiles{margin-top:14px}

/* Preferencias y notificaciones: listas limpias con controles segmentados */
.pref-list{border:1px solid var(--glass-line,var(--line));border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.01)),var(--surface);overflow:hidden}
.pref-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;min-height:54px}
.pref-row+.pref-row{border-top:1px solid var(--line)}
.pref-l b{display:block;font-size:14px;font-weight:650}.pref-l small{display:block;margin-top:3px;font-size:11px;color:var(--muted);line-height:1.4}
.pref-c{display:flex;align-items:center;gap:8px;flex:none;max-width:62%;justify-content:flex-end}
.seg{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px;padding:3px;border-radius:999px;background:var(--raised);border:1px solid var(--line)}
.seg button{border:0;background:none;color:var(--muted);font-size:12px;font-weight:650;padding:6px 11px;border-radius:999px;transition:background .2s,color .2s,transform .15s}
.seg button:active{transform:scale(.94)}
.seg button[aria-pressed=true]{background:var(--accent);color:#fff;box-shadow:0 3px 10px rgba(84,143,255,.35)}
.pref-sel{background:var(--raised);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600;max-width:190px}
.pref-play,.pref-pill{display:inline-grid;place-items:center;border:1px solid var(--glass-line,var(--line));color:var(--text);cursor:pointer;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.03)),var(--raised);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.pref-play{width:34px;height:34px;border-radius:50%;padding:0}.pref-pill{padding:8px 16px;border-radius:999px;font-size:12px;font-weight:700}
.pref-ex{padding:9px 14px 12px;font-size:11px;color:var(--muted);border-top:1px dashed var(--line);font-variant-numeric:tabular-nums}
.news-pop ul{margin:0 0 6px;padding-left:18px;font-size:12px;line-height:1.55;color:var(--muted)}.news-pop .nw-ver{display:flex;justify-content:space-between;align-items:baseline;margin-top:4px}.news-pop .nw-ver span{font-weight:700;font-size:13px}.news-pop .nw-ver small{color:var(--muted)}
.news-pop{max-height:70vh;overflow:auto}
@media(max-width:420px){.pref-row:has(.seg),.pref-row:has(.pref-sel){flex-wrap:wrap}.pref-row:has(.seg) .pref-c,.pref-row:has(.pref-sel) .pref-c{max-width:100%;width:100%;justify-content:flex-start}.seg{justify-content:flex-start}}

/* Tema (sol/luna) como botón de la barra y panel de notificaciones y preferencias */
.theme-sw{position:relative}
.theme-sw>svg{grid-area:1/1;transition:transform .45s cubic-bezier(.3,1.3,.5,1),opacity .25s}
.theme-sw .ti-sun{color:#f2b33d;transform:rotate(-90deg) scale(.3);opacity:0}
.theme-sw .ti-moon{color:#9db8ff;transform:none;opacity:1}
body.light .theme-sw .ti-sun{transform:none;opacity:1}
body.light .theme-sw .ti-moon{transform:rotate(90deg) scale(.3);opacity:0}
.icon-btn.theme-sw{display:grid;place-items:center}
.right-rail .rr-theme>svg{scale:var(--dk,1)} /* efecto dock del botón de tema (dock.js pone --dk) */
@media (prefers-reduced-motion:reduce){.theme-sw>svg{transition:none}}
.prefs-pop{position:fixed;z-index:90;right:calc(var(--rail-w,52px) + 10px);top:60px;bottom:16px;width:min(380px,calc(100vw - 24px));display:flex;flex-direction:column;border-radius:18px;overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),var(--surface);border:1px solid var(--glass-line,var(--line));
  -webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:0 18px 50px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.14)}
.prefs-pop:not([hidden]){animation:ppIn .28s cubic-bezier(.3,1.2,.5,1)}
@keyframes ppIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.pp-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}.pp-head b{font-size:14px}
.pp-x{width:30px;height:30px;border-radius:50%;border:0;background:var(--raised);color:var(--text);font-size:18px;line-height:1;padding:0}
.pp-body{overflow-y:auto;padding:4px 14px 18px;overscroll-behavior:contain}.pp-body .section-label{margin:18px 2px 10px}
@media(max-width:1023px){.prefs-pop{left:10px;right:10px;width:auto;top:70px;bottom:78px}}
@media (prefers-reduced-motion:reduce){.prefs-pop:not([hidden]){animation:none}}


/* Pestañas de gráficos */
.chart-tabs{display:flex;align-items:center;gap:6px;padding:6px 10px 4px;overflow-x:auto;scrollbar-width:none;flex:0 0 auto}
.chart-tabs::-webkit-scrollbar{display:none}.chart-tabs[hidden]{display:none}
.ctab{position:relative;display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;height:30px;padding:0 8px 0 12px;border-radius:999px;color:var(--muted);cursor:pointer;user-select:none;-webkit-user-select:none;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),var(--raised);border:1px solid var(--line);transition:background .2s,color .2s,transform .15s,box-shadow .2s;-webkit-tap-highlight-color:transparent}
.ctab:active{transform:scale(.96)}
.ctab .ct-t{display:inline-flex;align-items:baseline;gap:5px;font-size:12px;font-weight:700;letter-spacing:.2px}.ctab .ct-t small{font-size:10px;font-weight:600;opacity:.75}
.ctab.on{color:var(--text);background:linear-gradient(145deg,rgba(84,143,255,.32),rgba(84,143,255,.1)),var(--raised);border-color:color-mix(in srgb,var(--accent) 60%,transparent);box-shadow:0 4px 14px rgba(84,143,255,.25),inset 0 1px 0 rgba(255,255,255,.2)}
.ct-x{width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font-size:15px;line-height:1;opacity:.6;display:grid;place-items:center}
.ct-x:hover{opacity:1;background:rgba(255,255,255,.14)}
.ct-add{flex:0 0 auto;width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:50%;color:var(--muted);background:transparent;border:1px dashed var(--line);transition:color .2s,border-color .2s,transform .15s}
.ct-add:hover{color:var(--text);border-color:var(--accent)}.ct-add:active{transform:scale(.9)}
.tab-prev{position:fixed;z-index:95;width:190px;padding:10px 12px;border-radius:14px;pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.02)),var(--surface);border:1px solid var(--glass-line,var(--line));
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 14px 36px rgba(0,0,0,.5);animation:ppIn .18s ease-out}
.tp-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.tp-h b{font-size:13px}.tp-h span{font-size:10px;color:var(--muted)}
.tp-spark{margin:8px 0 6px;height:44px}.tp-spark .spark{width:100%;height:44px;display:block}
.tp-f{display:flex;justify-content:space-between;font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}
body.pane .chart-tabs{display:none}

/* Sesiones de las bolsas */
.chart-status{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:0 0 auto;padding:4px 12px;min-height:28px;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}
body.pane .chart-status{display:none}
.ss-btn{display:inline-flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text);font-size:11px;font-weight:650;cursor:pointer;transition:background .2s,border-color .2s}
.ss-btn:hover,.ss-btn[aria-expanded=true]{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.02)),var(--raised);border-color:var(--glass-line,var(--line))}
.ss-dots{display:inline-flex;gap:3px}.ss-dots i{width:7px;height:7px;border-radius:50%;background:var(--c);opacity:.22;transition:opacity .3s,box-shadow .3s}.ss-dots i.on{opacity:1;box-shadow:0 0 6px var(--c)}
.ss-clock{font-variant-numeric:tabular-nums;letter-spacing:.2px;white-space:nowrap}
.ss-pop{position:fixed;z-index:96;width:min(380px,calc(100vw - 16px));padding:12px 14px 10px;border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.02)),var(--surface);border:1px solid var(--glass-line,var(--line));
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 44px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.14);animation:ppIn .2s ease-out}
.ss-ax{position:relative;height:14px;margin:0 66px 4px 112px;font-size:9px;color:var(--muted)}.ss-ax span{position:absolute;top:0;transform:translateX(-50%)}.ss-ax span:first-child{transform:none}
.ss-row{display:grid;grid-template-columns:112px 1fr 66px;align-items:center;gap:0;padding:5px 0}
.ss-n{display:flex;align-items:center;gap:7px;min-width:0}.ss-n i{width:8px;height:8px;flex:none;border-radius:50%;background:var(--c);opacity:.35}.ss-row.open .ss-n i{opacity:1;box-shadow:0 0 7px var(--c)}
.ss-n b{display:block;font-size:12px;color:var(--text);white-space:nowrap}.ss-n small{display:block;font-size:9.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96px}
.ss-track{position:relative;height:7px;border-radius:4px;background:rgba(127,140,160,.22)}
.ss-seg{position:absolute;top:0;bottom:0;border-radius:4px;background:var(--c);opacity:.55}.ss-row.open .ss-seg{opacity:.95}
.ss-now{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;border-radius:1px;background:var(--text);opacity:.85}
.ss-r{font-size:11px;font-weight:650;text-align:right;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;padding-left:8px}
.ss-note{margin:6px 0 0;font-size:9.5px;color:var(--muted);line-height:1.4}
@media(max-width:480px){.chart-status{justify-content:space-between;padding:4px 10px}.ss-row{grid-template-columns:96px 1fr 62px}.ss-ax{margin-left:96px;margin-right:62px}.ss-n small{max-width:80px}}
@media (prefers-reduced-motion:reduce){.ss-pop{animation:none}}

/* Nombre y precio de la moneda dentro del gráfico (arriba a la izquierda), separados de los indicadores por una línea */
.chart-symhead{position:absolute;left:0;right:0;top:0;z-index:5;display:flex;align-items:center;gap:18px;padding:6px 14px;min-height:54px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.04),transparent)}
.chart-symhead .symbol-button{flex:0 0 auto;gap:10px}
.chart-symhead .symbol-button strong{font-size:16px;line-height:1.1}.chart-symhead .symbol-button small{margin-top:3px;font-size:9.5px;letter-spacing:.3px}
.chart-symhead .priceblock{display:flex;align-items:baseline;gap:9px;text-align:left}
.chart-symhead .priceblock strong{display:inline;font-size:22px;font-weight:700;letter-spacing:-.3px;font-variant-numeric:tabular-nums}
.chart-symhead .priceblock small{display:inline;margin:0;font-size:12.5px;font-weight:700;font-variant-numeric:tabular-nums}
.chart-label{top:calc(8px + var(--sh,0px))!important}
.chart-label #chartLabel{display:none}
body.pane .chart-symhead{display:none}
@media(max-width:760px){.chart-symhead{min-height:46px;padding:4px 10px;gap:12px}.chart-symhead .priceblock strong{font-size:18px}.chart-symhead .symbol-button .coin-icon{width:30px;height:30px;font-size:17px}}
@media(max-width:1023px){.chart-status,.chart-tabs{display:none!important}}

/* imagen de referencia de cada script */
.pine-row{flex-wrap:wrap}
.pine-prev{display:block;flex:0 0 100%;width:100%;height:auto;max-height:170px;object-fit:cover;border-radius:10px;margin-bottom:8px;background:#0b0e14}
.pine-prev.ph{display:flex;align-items:center;justify-content:center;min-height:70px;color:var(--muted);font-size:12px}

/* Barra inferior (solo PC): saldo a la izquierda, sesiones de las bolsas a la derecha, separados por una línea */
.chart-status{justify-content:space-between}
.st-acct{display:inline-flex;align-items:center;gap:10px;padding:3px 12px 3px 10px;border:1px solid var(--glass-line,var(--line));border-radius:999px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015)),var(--raised);color:var(--muted);font-size:11px;cursor:pointer;transition:border-color .2s,background .2s}
.st-acct:hover{border-color:var(--accent)}
.st-lbl{font-weight:650;letter-spacing:.3px;text-transform:uppercase;font-size:9.5px;opacity:.85}
.st-track{position:relative;display:block;width:132px;height:7px;border-radius:5px;background:rgba(127,140,160,.2);overflow:hidden}
.st-track::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--text);opacity:.45}
.st-track .ab-fill{position:absolute;left:0;top:0;bottom:0;right:auto;width:var(--ab-p,0%);height:auto;border-radius:5px;transition:width .5s ease,background .5s ease}
.st-acct .ab-val{font-size:11px;font-weight:800;min-width:34px;text-align:right}
.st-acct.empty .st-track{outline:1px dashed var(--line);outline-offset:-1px;opacity:.75}
.st-acct.broke{border-color:var(--red)}
.st-mkt{display:flex;align-items:center;gap:10px;padding-left:14px;border-left:1px solid var(--line);margin-left:auto}
@media(min-width:1024px){.right-rail .rr-acct-bar{display:none}
  /* el grupo de abajo (cuenta, tema, ajustes) vuelve a quedar pegado al fondo de la barra, como estaba */
  .right-rail .rr-acct-bar+.rr-btn.rr-end,.right-rail .rr-theme{margin-top:auto}
  /* iconos de la barra derecha un poco más grandes */
  main{--rail-w:54px}
  .right-rail{gap:7px}
  .right-rail .rr-btn{width:42px;height:42px;border-radius:11px}
  .right-rail .rr-btn svg{width:25px;height:25px}
}
@media(min-width:1024px) and (max-height:690px){.right-rail{gap:4px}.right-rail .rr-btn{width:38px;height:38px}.right-rail .rr-btn svg{width:22px;height:22px}}

/* Mi seguimiento: tres puntos a la izquierda de cada moneda + menú de opciones */
.watch-row .row-dots{flex:none;width:22px;height:32px;margin:0 2px 0 -6px;display:grid;place-items:center;border-radius:8px;color:var(--muted);cursor:pointer;opacity:.7;transition:opacity .15s,background .15s,color .15s}
.watch-row .row-dots svg{fill:currentColor}
.watch-row:hover .row-dots,.watch-row .row-dots:focus-visible{opacity:1}
.watch-row .row-dots:hover{background:var(--raised);color:var(--text)}
@media(hover:none){.watch-row .row-dots{opacity:1}}
.row-menu{position:fixed;z-index:410;width:232px;max-height:calc(100vh - 16px);overflow:auto;padding:6px;border-radius:14px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.02)),var(--surface);border:1px solid var(--glass-line,var(--line));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 44px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.14);animation:ppIn .16s ease-out}
.rm-head{padding:6px 10px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.rm-head b{display:block;font-size:13px;letter-spacing:.3px}.rm-head small{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rm-it{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:none;color:var(--text);font-size:13px;text-align:left;cursor:pointer}
.rm-it:hover{background:rgba(127,140,160,.16)}.rm-it svg{flex:none;color:var(--muted)}.rm-it span{flex:1}
.rm-it.danger,.rm-it.danger svg{color:var(--red)}
.rm-it.on{color:var(--accent);font-weight:650}.rm-it.on::after{content:"✓";margin-left:auto}
.rm-car{font-style:normal;color:var(--muted);transition:transform .15s}.rm-it[aria-expanded=true] .rm-car{transform:rotate(90deg)}
.rm-sub{margin:0 0 4px 12px;padding-left:8px;border-left:1px solid var(--line)}.rm-sub .rm-it{padding:7px 8px;font-size:12.5px}
.rm-color{padding:8px 10px 10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:4px 0}.rm-color small{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}
.rm-color .tag-grid{grid-template-columns:repeat(8,1fr);gap:4px}.rm-color .tag-grid button{width:22px;height:22px}
.rm-color .tag-none{margin-top:8px;padding:5px;font-size:11.5px}
@media(min-width:1024px){
  .watch-row .row-dots{width:16px;margin:0 0 0 -4px}
  .watch-row .row-prices{min-width:72px}
  .watch-row .spark{flex-basis:50px!important;width:50px!important}
}

/* Nombre, precio y % de la moneda: ya no es una barra de lado a lado; es un recuadro flotante con desenfoque (blur) solo detrás del texto */
.chart-symhead{left:8px;right:auto;top:6px;width:fit-content;max-width:calc(100% - 84px);min-height:0;gap:14px;padding:6px 14px 6px 10px;border:0;border-bottom:0;border-radius:14px;
  background:color-mix(in srgb,var(--bg) 34%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.25);backdrop-filter:blur(10px) saturate(1.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
@media(max-width:760px){.chart-symhead{min-height:0;padding:4px 10px 4px 8px;gap:10px;top:4px;left:6px}}

/* Botón del logo: guardar todo y actualizar */
button.brand-fab,button.brand-icon{background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit}
.brand-fab{pointer-events:auto}
.bf-tip em{font-style:normal;font-size:10px;color:var(--accent);margin-top:3px}
.brand-fab:active img,.brand-icon:active img{transform:scale(.92)}

/* Celular: el logo VORTEX también va dentro del gráfico, abajo a la izquierda y más pequeño (toca para guardar y actualizar) */
@media(max-width:1023px){
  #chartArea .brand-fab{display:flex;align-items:center;position:absolute;left:8px;bottom:30px;z-index:6;height:28px;opacity:.8}
  #chartArea .brand-fab img{width:28px;height:28px;display:block;object-fit:contain;filter:drop-shadow(0 1px 4px rgba(0,0,0,.6))}
  #chartArea .brand-fab .bf-tip{display:none!important}
}

/* Animación del logo al guardar: el anillo "se dibuja" de izquierda a derecha, pasa un destello y la estrella centellea */
.brand-fab{position:absolute}
.brand-fab::before,.brand-fab::after{content:"";position:absolute;inset:0;pointer-events:none;background:url(icons/vortex-mark.png) center/contain no-repeat;opacity:0}
.brand-fab::before{background:none;-webkit-mask:url(icons/vortex-mark.png) center/contain no-repeat;mask:url(icons/vortex-mark.png) center/contain no-repeat;
  background-image:linear-gradient(100deg,transparent 38%,rgba(255,255,255,.95) 50%,transparent 62%);background-size:300% 100%;background-position:100% 0;background-repeat:no-repeat}
.bf-star{position:absolute;inset:0;pointer-events:none;background:url(icons/vortex-star.png) center/contain no-repeat;opacity:0;transform-origin:56% 16%}
.brand-fab.syncing img{opacity:.22;transition:opacity .2s}
.brand-fab.syncing::after{opacity:1;filter:drop-shadow(0 0 5px rgba(255,255,255,.55));animation:markDraw 1.8s linear infinite}
.brand-fab.syncing::before{animation:markGlint 1.8s linear infinite}
.brand-fab.syncing .bf-star{animation:starPop 1.8s ease-out infinite}
.brand-fab.done .bf-star{animation:starPop .7s ease-out 1}
.brand-fab.done img{animation:markDone .7s ease-out 1}
@keyframes markDraw{0%{clip-path:inset(0 100% 0 0);opacity:1}64%{clip-path:inset(0 0 0 0)}90%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 0);opacity:0}}
@keyframes markGlint{0%{opacity:0;background-position:100% 0}8%{opacity:1}64%{opacity:1;background-position:0 0}72%{opacity:0;background-position:0 0}100%{opacity:0}}
@keyframes starPop{0%,56%{opacity:0;transform:scale(.2) rotate(-40deg);filter:none}68%{opacity:1;transform:scale(1.7) rotate(0);filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 14px rgba(160,190,255,.9))}82%{opacity:1;transform:scale(1);filter:drop-shadow(0 0 4px #fff)}100%{opacity:0;transform:scale(1)}}
@keyframes markDone{0%{filter:drop-shadow(0 0 0 #fff)}35%{filter:drop-shadow(0 0 9px rgba(255,255,255,.95)) brightness(1.3)}100%{filter:none}}
@media(prefers-reduced-motion:reduce){.brand-fab.syncing::after,.brand-fab.syncing::before,.brand-fab.syncing .bf-star{animation:none}.brand-fab.syncing img{opacity:.5}}

/* Diseños guardados */
.dz-back{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(3,6,12,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dz-box{width:min(440px,100%);max-height:min(620px,90dvh);display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--glass-2);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-hi);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.55);color:var(--text,#e8eef8)}
.dz-head{display:flex;align-items:center;justify-content:space-between;font-size:16px}
.dz-x{background:none;border:0;color:inherit;font-size:16px;cursor:pointer;opacity:.7}
.dz-note{margin:0;font-size:12px;opacity:.65;line-height:1.4}
.dz-list{display:flex;flex-direction:column;gap:6px;overflow:auto;min-height:60px}
.dz-row{display:flex;align-items:center;gap:4px;border:1px solid var(--glass-hi);border-radius:14px;padding:4px;background:rgba(255,255,255,.03)}
.dz-apply{flex:1;min-width:0;display:flex;align-items:center;gap:10px;background:none;border:0;color:inherit;text-align:left;padding:6px;border-radius:10px;cursor:pointer}
.dz-apply:hover{background:rgba(255,255,255,.06)}
.dz-sw{flex:none;display:flex;align-items:flex-end;gap:3px;width:38px;height:30px;padding:5px;border-radius:8px;border:1px solid rgba(255,255,255,.18)}
.dz-sw i{flex:1;height:60%;border-radius:2px}.dz-sw i+i{height:90%}
.dz-nm{display:flex;flex-direction:column;min-width:0}.dz-nm b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dz-nm small{font-size:11px;opacity:.6}
.dz-ic{flex:none;width:30px;height:30px;display:grid;place-items:center;background:none;border:0;border-radius:8px;color:inherit;opacity:.65;cursor:pointer}.dz-ic:hover{opacity:1;background:rgba(255,255,255,.08)}.dz-del:hover{color:#f23645}
.dz-empty{margin:8px 4px;font-size:13px;opacity:.65;line-height:1.45}
.dz-save{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:14px;border:1px solid var(--glass-hi);background:rgba(98,150,255,.18);color:inherit;font-weight:600;cursor:pointer}
.dz-save:hover{background:rgba(98,150,255,.3)}

/* Fotos de criptomonedas */
.coin-icon{position:relative;overflow:hidden}
.coin-icon .coin-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#0d1320}
.coin-icon.has-img{font-size:0;color:transparent;background:#0d1320!important;box-shadow:0 0 0 1px rgba(255,255,255,.14),0 4px 12px rgba(0,0,0,.35)}

/* Botón y barra de favoritos (móvil): liquid glass, estrella normal sin color */
.fav-fab{color:rgba(255,255,255,.92);
  background:radial-gradient(120% 120% at 25% 15%,rgba(255,255,255,.34),rgba(255,255,255,.06) 45%,rgba(255,255,255,.02) 70%),rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.34);
  -webkit-backdrop-filter:blur(22px) saturate(190%) brightness(1.08);backdrop-filter:blur(22px) saturate(190%) brightness(1.08);
  box-shadow:0 10px 26px rgba(0,0,0,.4),inset 0 1.5px 0 rgba(255,255,255,.55),inset 0 -1px 2px rgba(255,255,255,.12),inset 0 0 14px rgba(255,255,255,.06)}
.fav-fab svg{fill:none;stroke:currentColor;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.fav-fab.open{box-shadow:0 10px 26px rgba(0,0,0,.4),inset 0 1.5px 0 rgba(255,255,255,.6),inset 0 0 16px rgba(255,255,255,.12),0 0 16px rgba(255,255,255,.12)}
.fav-fab.open svg{fill:rgba(255,255,255,.28)}
.fav-fab.drag{box-shadow:0 16px 34px rgba(0,0,0,.5),inset 0 1.5px 0 rgba(255,255,255,.6),0 0 18px rgba(255,255,255,.18)}
.fav-fab.active:not(.open){color:#fff}
.favbar.fb-mobile{
  background:radial-gradient(140% 160% at 15% 0%,rgba(255,255,255,.28),rgba(255,255,255,.05) 50%,rgba(255,255,255,.02)),rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.32);
  -webkit-backdrop-filter:blur(24px) saturate(190%) brightness(1.08);backdrop-filter:blur(24px) saturate(190%) brightness(1.08);
  box-shadow:0 12px 30px rgba(0,0,0,.42),inset 0 1.5px 0 rgba(255,255,255,.5),inset 0 -1px 2px rgba(255,255,255,.1),inset 0 0 16px rgba(255,255,255,.05)}
.favbar.fb-mobile .fb-btn{color:rgba(255,255,255,.82)}
.favbar.fb-mobile .fb-btn.on{background:rgba(255,255,255,.2);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 0 10px rgba(255,255,255,.12)}

/* Mi seguimiento: minimalista (sin cajas, solo líneas finas) */
#watchView .summary{border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:6px 2px 14px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:12px}
#watchView .search{border-radius:12px;border:0;background:rgba(255,255,255,.05);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
#watchRows{display:flex;flex-direction:column;gap:0}
#watchRows .watch-row:not(.sec-head):not(.sec-row){border:0;border-radius:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding-top:11px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.05)}
#watchRows .watch-row:not(.sec-head):not(.sec-row):hover{background:rgba(255,255,255,.04);box-shadow:none}
#watchRows .watch-row .coin-icon{width:36px;height:36px}
#watchRows .wl-sec .wl-sec-ed{opacity:.45}
#watchRows .wl-sec:hover .wl-sec-ed,#watchRows .wl-sec .wl-sec-ed:focus-within{opacity:1}
@media(max-width:760px){#watchView .head-actions{gap:6px}#watchView .head-actions .small-button{padding:9px 12px;font-size:13px;border-radius:12px}#watchView .view-head h1{font-size:26px}}

/* Favoritos (móvil): liquid glass minimalista — cristal liso, sin reflejos ni luz arriba */
.fav-fab,.favbar.fb-mobile{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:0 6px 20px rgba(0,0,0,.28)}
.fav-fab svg{filter:none;stroke-width:1.6}
.fav-fab.open,.fav-fab.drag{box-shadow:0 8px 24px rgba(0,0,0,.34);background:rgba(255,255,255,.12)}
.fav-fab.open svg{fill:none}
.favbar.fb-mobile .fb-btn{color:rgba(255,255,255,.78)}
.favbar.fb-mobile .fb-btn.on{background:rgba(255,255,255,.16);box-shadow:none;color:#fff}

/* Colores de clasificación en Mi seguimiento (se habían tapado con el estilo minimalista) */
/* (el color de cada moneda ahora es solo un punto junto al nombre: ver el final del archivo) */

/* Celular: sin los botones A / − / + sobre el gráfico (se usa pellizcar y las barras de escala) */
@media(max-width:1023px){.chart-controls{display:none!important}}

/* Barra derecha (PC): al pasar el ratón, el icono crece dentro de un círculo de cristal (liquid glass) */
@media(min-width:1024px){
  .right-rail .rr-btn::before{content:'';position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:-1;
    opacity:calc((var(--dk,1) - 1) * 1.6);transform:scale(calc(1 + (var(--dk,1) - 1) * .32));
    background:radial-gradient(120% 120% at 30% 20%,rgba(255,255,255,.2),rgba(255,255,255,.05) 55%),rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(14px) saturate(170%);backdrop-filter:blur(14px) saturate(170%);
    box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.4)}
  .light .right-rail .rr-btn::before{background:rgba(255,255,255,.55);border-color:rgba(20,40,80,.18);box-shadow:0 6px 18px rgba(20,40,80,.2),inset 0 1px 0 rgba(255,255,255,.8)}
  .right-rail .rr-btn:hover{background:none}
}

/* Círculo del dock: liquid glass minimalista y plano (como el botón de favoritos), sin reflejos */
@media(min-width:1024px){
  .right-rail .rr-btn::before{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
    -webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:0 4px 14px rgba(0,0,0,.25)}
  .light .right-rail .rr-btn::before{background:rgba(20,40,80,.06);border-color:rgba(20,40,80,.12);box-shadow:0 4px 12px rgba(20,40,80,.12)}
}

/* Dock derecho: solo crece el icono, sin círculo */
.right-rail .rr-btn::before{content:none!important;display:none!important}

/* Celular: el alto de la app es el alto real medido (ver script en index.html), así la barra de abajo siempre queda dentro de la pantalla */
@media(max-width:1023px){#app{height:var(--app-h,100dvh)}}

/* ── Alertas: diálogo estilo TradingView y confirmación al mover la línea (cristal plano y minimalista) ── */
.al-dlg{width:min(520px,100%)}
.al-dlg .cfg-head{gap:10px;align-items:center}
.al-dlg .al-sym{flex:none;max-width:170px;background:var(--raised);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:6px 8px;font-size:13px;font-weight:600}
.al-r{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;align-items:start;margin-bottom:12px;font-size:12.5px;color:var(--muted)}
.al-r>span{padding-top:11px}
.al-r select,.al-r input{background:var(--raised);border:1px solid var(--line);border-radius:9px;padding:10px 11px;color:var(--text);font-size:14px;width:100%;min-width:0}
.al-r input[hidden]{display:none}
.al-c{display:flex;flex-direction:column;gap:8px;min-width:0}
.al-hint{font-size:11.5px;color:var(--muted);min-height:14px}
@media(max-width:520px){.al-r{grid-template-columns:1fr;gap:4px}.al-r>span{padding-top:0}}
.al-confirm{position:absolute;left:50%;transform:translateX(-50%);z-index:30;min-width:210px;padding:12px 14px;border-radius:16px;background:var(--glass-2,rgba(20,26,40,.78));-webkit-backdrop-filter:var(--blur,blur(16px));backdrop-filter:var(--blur,blur(16px));border:1px solid var(--glass-hi,rgba(255,255,255,.12));box-shadow:0 12px 36px rgba(0,0,0,.4);color:var(--text);animation:alcIn .35s cubic-bezier(.2,.9,.3,1.2) both}
.alc-t{font-size:12.5px;color:var(--muted);margin-bottom:6px}
.alc-p{display:flex;align-items:center;gap:8px;font-size:15px;margin-bottom:10px}.alc-p s{opacity:.55}.alc-p span{opacity:.5}
.alc-b{display:flex;gap:8px}
.alc-b button{flex:1;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--raised);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}
.alc-b button.ok{background:var(--accent,#548fff);border-color:transparent;color:#fff}
@keyframes alcIn{from{opacity:0;transform:translateX(-50%) translateY(8px) scale(.96)}to{opacity:1;transform:translateX(-50%)}}

/* ── Barra inferior: próximo evento económico importante (solo escritorio) · chip con cuenta regresiva y línea que avanza ── */
.st-econ{--p:0;--ec:#e9c36e;position:relative;display:inline-flex;align-items:center;gap:9px;min-width:0;max-width:min(780px,58vw);margin-left:auto;margin-right:4px;padding:3px 12px 3px 10px;height:24px;border:1px solid var(--glass-line,var(--line));border-radius:999px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.01)),var(--raised);color:var(--text);font-size:11px;white-space:nowrap;cursor:pointer;overflow:hidden;transition:border-color .25s,box-shadow .25s,background .25s}
.st-econ[hidden]{display:none}
.st-econ+.st-mkt{margin-left:0}
.st-econ:hover,.st-econ[aria-expanded=true]{border-color:color-mix(in srgb,var(--ec) 60%,transparent);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02)),var(--raised)}
.st-econ .ec-prog{position:absolute;left:0;bottom:0;height:2px;width:calc(var(--p) * 100%);background:linear-gradient(90deg,transparent,var(--ec));border-radius:2px;transition:width 1s linear;pointer-events:none;box-shadow:0 0 8px var(--ec)}
.st-econ[data-lv=far] .ec-prog{opacity:.35}
.st-econ[data-lv=soon]{border-color:rgba(233,195,110,.55);box-shadow:0 0 14px rgba(233,195,110,.16)}
.st-econ[data-lv=urgent]{--ec:#ff7a59;border-color:rgba(255,122,89,.6);box-shadow:0 0 16px rgba(255,122,89,.22);animation:ecGlow 1.4s ease-in-out infinite}
@keyframes ecGlow{50%{box-shadow:0 0 22px rgba(255,122,89,.38)}}
.st-econ.live{--ec:#20bf9f;border-color:rgba(32,191,159,.55);box-shadow:0 0 14px rgba(32,191,159,.14)}
.st-econ.idle{color:var(--muted);cursor:pointer}.ec-idle{font-weight:500!important;color:var(--muted)}
.ec-tag{font-size:9px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.ec-tag.live{color:#20bf9f}
.ec-imp{display:inline-flex;align-items:flex-end;gap:2px;height:11px;flex:none}.ec-imp i{width:3px;border-radius:2px;background:var(--muted);opacity:.28}
.ec-imp i:nth-child(1){height:4px}.ec-imp i:nth-child(2){height:7px}.ec-imp i:nth-child(3){height:11px}
.ec-imp.i2 i{background:#e9c36e;opacity:1}.ec-imp.i1 i:nth-child(-n+2){background:#e9c36e;opacity:.85}
.ec-dot,.ec-live{width:7px;height:7px;border-radius:50%;flex:none;background:var(--ec,#e9c36e);opacity:.85}
.st-econ[data-lv=soon] .ec-dot,.st-econ[data-lv=urgent] .ec-dot{opacity:1;animation:ecPulse 1.4s ease-in-out infinite}
.ec-live{background:#e9c36e;animation:ecPulse 1.1s ease-in-out infinite}.ec-live.got{background:#20bf9f;animation:none;box-shadow:0 0 8px #20bf9f}
@keyframes ecPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--ec,#e9c36e) 60%,transparent)}50%{box-shadow:0 0 0 5px transparent}}
.ec-cc{font-size:9.5px;letter-spacing:.6px;padding:1px 6px;border-radius:6px;background:rgba(255,255,255,.08);color:var(--text);flex:none}
.ec-nm{font-weight:650;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}.ec-more{margin-left:5px;color:var(--muted);font-weight:600}
.ec-kv{display:inline-flex;gap:4px;align-items:baseline;flex:none;color:var(--muted)}.ec-kv em{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.5px;opacity:.85}.ec-kv b{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.ec-cd{display:inline-flex;align-items:center;gap:5px;flex:none;padding:1px 8px 1px 6px;margin-right:-6px;border-radius:999px;background:color-mix(in srgb,var(--ec) 14%,transparent);color:var(--ec)}
.ec-cd svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ec-clk{font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;letter-spacing:.3px}
.ec-res{display:inline-flex;gap:5px;align-items:baseline;flex:none}.ec-res em{font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#20bf9f}.ec-res b{font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.ec-ar{font-size:9px;color:var(--muted)}.ec-ar.up{color:var(--green)}.ec-ar.dn{color:var(--red)}
.ec-wait{color:#e9c36e;flex:none;animation:ecBlink 1.4s ease-in-out infinite}@keyframes ecBlink{50%{opacity:.45}}
.st-econ .ec-nm{max-width:260px}
@container (max-width:1180px){.st-econ .ec-kv+.ec-kv{display:none}.st-econ .ec-nm{max-width:200px}}
@container (max-width:880px){.st-econ .ec-imp,.st-econ .ec-tag:not(.live){display:none}.st-econ .ec-nm{max-width:150px}}
@container (max-width:700px){.st-econ .ec-kv,.st-econ .ec-cc{display:none}}
/* Ventana al hacer clic */
.ec-pop{position:fixed;z-index:96;width:min(440px,calc(100vw - 16px));max-height:min(78vh,640px);overflow:auto;padding:12px;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.01)),var(--surface);border:1px solid var(--glass-line,var(--line));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 22px 50px rgba(0,0,0,.6);animation:ppIn .22s var(--ease,ease-out);font-size:12px;color:var(--text);scrollbar-width:thin}
.ec-hero{--p:0;--ec:#e9c36e;position:relative;padding:14px 14px 12px;border-radius:14px;background:radial-gradient(120% 90% at 100% 0,color-mix(in srgb,var(--ec) 16%,transparent),transparent 60%),rgba(255,255,255,.03);border:1px solid color-mix(in srgb,var(--ec) 28%,var(--line));overflow:hidden}
.ec-hero.urgent{--ec:#ff7a59}.ec-hero.live{--ec:#20bf9f}.ec-hero.far{--ec:#7aa9ff}
.ec-hero.idle{--ec:#7aa9ff;text-align:center;padding:18px}.ec-hero.idle b{font-size:13px}.ec-hero.idle p{margin:6px 0 0;color:var(--muted);line-height:1.5}
.ec-h1{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.ec-h1 i{font-style:normal;opacity:.5}.ec-h1t{margin-left:auto;color:var(--text);letter-spacing:.2px;text-transform:none;font-size:11px}
.ec-ht{margin-top:8px;font-size:17px;font-weight:800;letter-spacing:-.3px;line-height:1.25}
.ec-hs{margin-top:2px;font-size:11px;color:var(--muted)}
.ec-cdbig{display:flex;gap:8px;margin-top:12px}
.ec-seg{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 7px;border-radius:12px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.06)}
.ec-seg b{font:800 22px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;color:var(--text)}
.ec-seg b.tick{animation:ecTick .45s var(--ease,ease-out)}@keyframes ecTick{from{transform:translateY(-35%);opacity:.2}}
.ec-seg small{font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.ec-hero:not(.far) .ec-seg:last-child b{color:var(--ec)}
.ec-bar{position:relative;height:6px;margin-top:12px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.ec-bar i{position:absolute;inset:0 auto 0 0;width:calc(var(--p) * 100%);border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--ec) 25%,transparent),var(--ec));box-shadow:0 0 12px var(--ec);transition:width 1s linear}
.ec-bar i::after{content:'';position:absolute;right:-1px;top:50%;width:10px;height:10px;border-radius:50%;transform:translateY(-50%);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--ec) 55%,transparent);opacity:.95}
.ec-barl{display:flex;justify-content:space-between;margin-top:5px;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.ec-livebox{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(32,191,159,.1);color:#20bf9f;font-weight:700}
.ec-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.ec-tile{padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06)}
.ec-tile small{display:block;font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.ec-tile b{display:block;margin-top:3px;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
.ec-tile.f{border-color:color-mix(in srgb,var(--ec) 35%,transparent)}.ec-tile.f b{color:var(--ec)}
.ec-tile.pend b{color:var(--muted);font-weight:600}.ec-tile.up b{color:var(--green)}.ec-tile.dn b{color:var(--red)}
.ec-exp{margin:10px 0 0;font-size:11.5px;color:var(--muted)}.ec-exp b{color:var(--text)}.ec-exp b.up{color:var(--green)}.ec-exp b.dn{color:var(--red)}
.ec-oth{margin-top:10px}.ec-oth small{font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.ec-oth ul{margin:4px 0 0;padding-left:16px;line-height:1.6}.ec-oth li span{color:var(--muted)}
.ec-sec{font-size:9.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:14px 2px 4px}
.ec-row{display:grid;grid-template-columns:82px 16px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 2px;border-top:1px solid rgba(255,255,255,.05)}
.ec-rt{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.ec-rn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-rn b{font-size:9.5px;letter-spacing:.5px;margin-right:4px;color:var(--muted)}
.ec-rv{display:inline-flex;gap:10px;justify-content:flex-end}
.ec-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.ec-foot small{color:var(--muted);font-size:10px;text-align:right}
.ec-foot button{padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--raised);color:var(--text);font-size:11.5px;font-weight:700;cursor:pointer}.ec-foot button:hover{border-color:var(--accent)}
@media(max-width:1023px){.st-econ,.ec-pop{display:none!important}}
@media (prefers-reduced-motion:reduce){.ec-dot,.ec-live,.ec-wait,.ec-pop,.st-econ,.ec-seg b.tick{animation:none!important}.ec-bar i,.st-econ .ec-prog{transition:none}}

.chart-status{container-type:inline-size}.ss-txt{white-space:nowrap}

/* Aviso de dibujo (arriba al centro): cristal plano y minimalista, sin borde dorado ni reflejo */
.draw-hint{background:var(--glass);border:1px solid var(--glass-line);box-shadow:none}
.draw-hint button{background:rgba(255,255,255,.06);border-color:var(--glass-line);border-radius:12px}

/* Hilera de botones del gráfico (escritorio): un solo contenedor de cristal translúcido y plano; los botones sin fondo oscuro ni sombra propios */
@media(min-width:1024px){
  .chart-bar .chart-toolbar{flex:0 1 auto;gap:2px;padding:3px;margin-right:2px;border:1px solid var(--glass-line);border-radius:15px;background:rgba(255,255,255,.04);-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);box-shadow:none}
  .light .chart-bar .chart-toolbar{background:rgba(255,255,255,.5)}
  .chart-bar .chart-toolbar button{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:12px}
  .chart-bar .chart-toolbar button:hover{background:rgba(255,255,255,.09);filter:none}
  .light .chart-bar .chart-toolbar button:hover{background:rgba(20,40,80,.08)}
  .chart-bar .chart-toolbar button[aria-expanded=true],.chart-bar .chart-toolbar button.active{background:rgba(255,255,255,.1)}
}

/* ───────── IA: tres herramientas (Analizar gráfico · Briefing · Laboratorio) — vidrio plano minimalista ───────── */
#aiRoot.aiv{display:flex;flex-direction:column;gap:10px;min-height:0;height:calc(100% - 70px)}
.aiv-top{display:flex;align-items:center;gap:8px}
.aiv-title{flex:1;min-width:0;display:flex;flex-direction:column}.aiv-title b{font-size:16px}.aiv-title small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aiv-ib{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);color:var(--text);flex:0 0 auto}
.aiv-ib svg{width:18px;height:18px}
.aiv-cards{display:flex;flex-direction:column;gap:10px}
.aiv-card{width:100%;box-sizing:border-box;display:flex;gap:14px;align-items:flex-start;text-align:left;padding:16px;border-radius:16px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);color:var(--text);transition:transform .15s,border-color .15s}
.aiv-card:hover{border-color:var(--accent)}.aiv-card:active{transform:scale(.99)}
.aiv-card>svg{flex:0 0 auto;width:26px;height:26px;color:var(--accent);margin-top:2px}
.aiv-card b{display:block;font-size:15px;margin-bottom:3px}.aiv-card small{display:block;font-size:12px;line-height:1.45;color:var(--muted)}
.aiv-foot,.aiv-dim{font-size:11px;color:var(--muted);line-height:1.5;margin:4px 0}
.aiv-log,.aiv-lab{flex:1;min-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:2px 2px 6px}
.aiv-msg{max-width:94%;padding:10px 12px;border-radius:14px;font-size:13.5px;line-height:1.5;border:1px solid var(--glass-line,var(--line));overflow-wrap:anywhere}
.aiv-msg.user{align-self:flex-end;background:var(--accent);color:#fff;border-color:transparent;border-bottom-right-radius:4px}
.aiv-msg.bot{align-self:flex-start;background:var(--glass,var(--surface));-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);border-bottom-left-radius:4px}
.aiv-msg.full{max-width:100%;align-self:stretch}
.aiv-msg p{margin:0 0 6px}.aiv-msg p:last-child{margin:0}.aiv-msg ul{margin:4px 0 6px;padding-left:18px}.aiv-msg h4{margin:10px 0 4px;font-size:14px;color:var(--accent)}
.aiv-msg code,.aiv-cfg code{font:11px ui-monospace,Menlo,Consolas,monospace;background:var(--raised);padding:1px 5px;border-radius:5px}
.aiv-msg.typing{opacity:.75}.aiv-cursor{display:inline-block;width:7px;height:14px;margin-left:2px;vertical-align:-2px;background:var(--accent);animation:aivBlink 1s steps(2) infinite}@keyframes aivBlink{50%{opacity:0}}
.aiv-shot{display:block;width:100%;max-width:340px;border-radius:10px;margin-bottom:6px;border:1px solid rgba(255,255,255,.25)}
.aiv-chips{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.aiv-chips button{flex:0 0 auto;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);color:var(--text);border-radius:999px;padding:7px 12px;font-size:12px}
.aiv-chips button:disabled,.aiv-btn:disabled,.aiv-send:disabled{opacity:.45}
.aiv-form{display:flex;gap:6px;align-items:flex-end}
.aiv-form input,.aiv-form textarea,.aiv-cfg input:not([type=checkbox]),.aiv-cfg select{flex:1;min-width:0;width:100%;background:var(--glass,var(--surface));-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s);border:1px solid var(--glass-line,var(--line));border-radius:12px;color:var(--text);padding:12px;font:inherit;font-size:14px;resize:none}
.aiv-send{width:46px;height:46px;border:0;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;flex:0 0 auto}.aiv-send svg{width:18px;height:18px}
.aiv-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700}
.aiv-btn.ghost{background:var(--glass,var(--surface));color:var(--text);border-color:var(--glass-line,var(--line))}.aiv-btn.danger{color:var(--red)}
.aiv-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.aiv-bar{display:flex}.aiv-bar .aiv-btn{flex:1}
.aiv-det{margin:8px 0;border:1px solid var(--glass-line,var(--line));border-radius:12px;padding:8px 12px;background:var(--glass,var(--surface))}.aiv-det summary{cursor:pointer;font-size:12.5px;font-weight:700}
.aiv-code{margin:8px 0 0;padding:10px;max-height:320px;overflow:auto;background:var(--bg);border-radius:8px;font:11px/1.45 ui-monospace,Menlo,Consolas,monospace;white-space:pre}
.aiv-tbl{overflow-x:auto}.aiv-tbl table{width:100%;border-collapse:collapse;font-size:12px}.aiv-tbl th,.aiv-tbl td{padding:6px 8px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.aiv-saved h4{margin:6px 0;font-size:13px}.aiv-saved-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px;flex-wrap:wrap}
.aiv-saved-row span{display:flex;gap:6px;flex-wrap:wrap}.aiv-mini{border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);border-radius:9px;padding:5px 9px;font-size:11.5px}.aiv-mini.danger{color:var(--red)}
.aiv-cfg{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.aiv-cfg label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.aiv-chk{flex-direction:row!important;align-items:center;gap:8px!important}
.aiv-card>span{flex:1;min-width:0}
.aiv-ql{display:flex;flex-direction:column;gap:5px;margin:10px 0;font-size:12.5px}.aiv-ql input{background:var(--raised);border:1px solid var(--glass-line,var(--line));border-radius:10px;color:var(--text);padding:9px 10px;font:inherit;font-size:13px;width:100%;box-sizing:border-box}.aiv-qo{display:flex;flex-wrap:wrap;gap:5px}.aiv-qo button{border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);border-radius:999px;padding:4px 9px;font-size:11px}
.aiv-prev{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--glass-line,var(--line));border-radius:12px;background:var(--glass,var(--surface))}.aiv-prev img{width:44px;height:44px;object-fit:cover;border-radius:8px}.aiv-prev span{flex:1;font-size:11px}

/* ───────── NOVA BOT LAB ───────── */
#botLabRoot{padding:0 0 28px;font-size:13px;color:var(--text)}
#botLabView{padding:14px 14px 28px}
body.botlab-wide #botLabView{grid-column:2/4;grid-row:1;z-index:5;background:var(--bg)}
.bl-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;position:sticky;top:-14px;z-index:3;padding:8px 0;background:var(--bg)}
.bl-logo{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--accent);color:#fff;flex:0 0 auto}.bl-logo svg{width:20px;height:20px}
.bl-title{flex:1;min-width:0}.bl-title b{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bl-title small{display:block;color:var(--muted);font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bl-ib{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);flex:0 0 auto;padding:0}.bl-ib.sm{width:32px;height:32px}
.bl-exp{display:none}@media(min-width:1024px){.bl-exp{display:grid}}
.bl-chip-btn{border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);border-radius:11px;padding:8px 11px;font-size:12px;font-weight:650;white-space:nowrap}.bl-chip-btn.on{border-color:var(--accent);color:var(--accent)}
.bl-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.bl-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:12px;padding:10px 14px;font-size:13px;font-weight:700}.bl-btn.ghost{background:var(--glass,var(--surface));color:var(--text);border-color:var(--glass-line,var(--line))}.bl-btn:disabled{opacity:.45}.bl-btn svg{width:16px;height:16px}
.bl-mini{border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);border-radius:9px;padding:6px 10px;font-size:12px}.bl-mini.danger{color:var(--red)}
.bl-chk{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:12px}
.bl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 14px}.bl-stats>div{border:1px solid var(--glass-line,var(--line));border-radius:12px;padding:10px;background:var(--glass,var(--surface))}.bl-stats b{display:block;font-size:18px}.bl-stats small{color:var(--muted);font-size:10px}
.bl-card,.bl-box,.bl-chart{border:1px solid var(--glass-line,var(--line));border-radius:14px;background:var(--glass,var(--surface));padding:12px;margin-bottom:10px;-webkit-backdrop-filter:var(--blur-s);backdrop-filter:var(--blur-s)}
.bl-card{display:grid;grid-template-columns:auto 1fr;gap:6px 10px}.bl-card.archived{opacity:.6}.bl-sel{padding-top:2px}.bl-card-m{cursor:pointer;min-width:0}.bl-card-m small{color:var(--muted);font-size:11px;display:block;margin:3px 0}.bl-card-b{grid-column:1/3;display:flex;flex-wrap:wrap;gap:6px}
.bl-card-t{display:flex;justify-content:space-between;gap:8px;align-items:center}.bl-card-s{font-size:12px;margin-top:4px}
.bl-chip{font-size:10px;border-radius:99px;padding:3px 8px;background:var(--raised);color:var(--muted);white-space:nowrap}.bl-chip.s-tested{color:var(--green)}.bl-chip.s-running{color:var(--accent)}.bl-chip.s-paused{color:#e9c36e}
.bl-empty{text-align:center;padding:28px 16px;color:var(--muted)}.bl-empty svg{width:34px;height:34px;color:var(--accent)}.bl-empty b{color:var(--text)}
.bl-dim{color:var(--muted);font-size:12px;line-height:1.5;margin:4px 0}.bl-dim.warn{color:#e9c36e}.bl-foot{color:var(--muted);font-size:11px;line-height:1.5;margin-top:16px}
.pos{color:var(--green)}.neg{color:var(--red)}
.bl-methods{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.bl-method{text-align:left;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));border-radius:14px;padding:14px;color:var(--text)}.bl-method:hover{border-color:var(--accent)}.bl-method b{display:block;font-size:14px;margin-bottom:4px}.bl-method small{color:var(--muted);font-size:12px;line-height:1.45;display:block}
.bl-chips{display:flex;flex-wrap:wrap;gap:8px}.bl-chips button{border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);border-radius:99px;padding:8px 12px;font-size:12px}
.bl-chat{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow-y:auto;margin-bottom:10px}.bl-msg{border-radius:14px;padding:9px 12px;max-width:94%;line-height:1.5;font-size:13px;overflow-wrap:anywhere}.bl-msg p{margin:3px 0}.bl-msg.user{align-self:flex-end;background:var(--accent);color:#fff}.bl-msg.bot{align-self:flex-start;background:var(--raised)}
.bl-form{display:flex;gap:8px;align-items:flex-end}.bl-form textarea{flex:1;min-width:0;resize:none;border-radius:12px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);padding:10px;font:inherit}.bl-send{border:0;background:var(--accent);color:#fff;border-radius:12px;padding:11px 14px;font-weight:700}
.bl-md p{margin:3px 0;line-height:1.5}
.bl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.bl-f{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.bl-f input,.bl-f select,.bl-cond select,.bl-cond input,.bl-runbar select,.bl-replay select,#blPer{border:1px solid var(--glass-line,var(--line));background:var(--raised);color:var(--text);border-radius:9px;padding:8px;font-size:13px;min-width:0;width:100%}.bl-two{display:flex;gap:6px}
.bl-box h4,.bl-chart h4{margin:0 0 8px;font-size:13px}.bl-h4row{display:flex;justify-content:space-between;gap:8px;align-items:center}.bl-h4row select{width:auto}
.bl-cond{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.bl-opnd{display:inline-flex;gap:4px}.bl-opnd select{width:auto;max-width:170px}.bl-opnd input{width:64px}.bl-cond>select{width:auto;max-width:190px}
.bl-err{border:1px solid var(--red);color:var(--red);border-radius:12px;padding:10px;margin:10px 0}.bl-err ul{margin:4px 0 0 18px;padding:0}
.bl-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:6px 0 12px;border-bottom:1px solid var(--line)}.bl-tabs button{flex:0 0 auto;border:0;background:none;color:var(--muted);padding:9px 11px;font-size:13px;border-bottom:2px solid transparent;font-weight:600}.bl-tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}
.bl-runbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.bl-runbar label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}
.bl-busy{display:flex;gap:10px;align-items:center;border:1px solid var(--accent);border-radius:12px;padding:10px;margin-bottom:10px}.bl-spin{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:blspin .8s linear infinite}@keyframes blspin{to{transform:rotate(360deg)}}
.bl-vrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}.bl-verdict{border-radius:99px;padding:4px 10px;font-size:12px;font-weight:700;background:var(--raised)}.bl-verdict.v-consistente{color:var(--green)}.bl-verdict.v-pierde{color:var(--red)}.bl-verdict.v-no-confirmada,.bl-verdict.v-insuficiente{color:#e9c36e}
.bl-metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:10px}.bl-m{border:1px solid var(--glass-line,var(--line));border-radius:12px;padding:9px 10px;background:var(--glass,var(--surface))}.bl-m small{display:block;color:var(--muted);font-size:10px;line-height:1.3}.bl-m b{display:block;font-size:16px;margin-top:3px}.bl-m.pos b{color:var(--green)}.bl-m.neg b{color:var(--red)}
.bl-cmp2{display:flex;gap:10px}.bl-cmp2>div{flex:1;background:var(--raised);border-radius:12px;padding:10px}.bl-cmp2 small{display:block;color:var(--muted);font-size:11px}.bl-cmp2 b{font-size:20px;display:block;margin:4px 0}
.bl-scroll{overflow-x:auto}.bl-t{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.bl-t th{color:var(--muted);font-weight:600;text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}.bl-t td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}.bl-why{max-width:220px;overflow:hidden;text-overflow:ellipsis}
.bl-log{list-style:none;margin:0;padding:0}.bl-log li{padding:6px 0;border-bottom:1px solid var(--line);font-size:12px}.bl-log small{color:var(--muted)}
.bl-q{display:block;width:100%;text-align:left;border:1px solid var(--glass-line,var(--line));background:var(--raised);color:var(--text);border-radius:11px;padding:9px 11px;margin-bottom:6px;font-size:12px;line-height:1.45}
.bl-prop{border:1px solid var(--accent);border-radius:12px;padding:9px;margin-top:8px}.bl-prop.done{border-color:var(--line);color:var(--muted)}.bl-prop pre{max-height:140px;overflow:auto;font-size:11px;background:var(--bg);padding:6px;border-radius:8px;white-space:pre-wrap}
.bl-replay{border:1px solid var(--accent);border-radius:14px;padding:10px;margin-bottom:10px;background:var(--glass,var(--surface))}.bl-rrow{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-bottom:6px}.bl-rrow label{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--muted)}.bl-rrow .bl-chk{flex-direction:row}.bl-rrow select{width:auto}
.bl-ver.principal{border-color:var(--accent)}.bl-ver.descartada{opacity:.55}
@media(max-width:600px){.bl-stats{grid-template-columns:repeat(2,1fr)}.bl-metrics{grid-template-columns:repeat(2,1fr)}.bl-opnd select{max-width:130px}}
.bl-usr{border:1px solid var(--accent);border-radius:9px;padding:6px 9px;font-size:12px;color:var(--accent);background:var(--raised)}

.bl-alert{border-color:var(--red)}

/* ───────── Nova Bot Lab · dashboard visual ───────── */
.bd{display:flex;flex-direction:column;gap:12px;margin:6px 0 4px}
.bd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.bd-kpi{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--glass-line,var(--line));border-radius:14px;background:var(--glass,var(--surface));min-width:0;animation:bdIn .4s var(--ease,ease) both}
.bd-kpi>div{min-width:0}.bd-kpi small{display:block;color:var(--muted);font-size:10.5px;letter-spacing:.3px}.bd-kpi b{display:block;font-size:20px;font-weight:800;letter-spacing:-.3px;margin:2px 0}.bd-kpi em{display:block;font-style:normal;font-size:10.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bd-kpi.click{cursor:pointer}.bd-kpi.click:hover{border-color:var(--accent)}
.bd-ring{width:42px;height:42px;flex:0 0 42px}.bd-ring circle:last-child{transition:stroke-dasharray .8s ease}
.bd-card{border:1px solid var(--glass-line,var(--line));border-radius:16px;background:var(--glass,var(--surface));padding:12px 14px;min-width:0;animation:bdIn .45s var(--ease,ease) both}
.bd-ch{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.bd-ch h4{margin:0;font-size:13px;letter-spacing:.2px}.bd-ch small{color:var(--muted);font-size:11px}
.bd-seg{display:flex;padding:3px;border-radius:10px;background:var(--raised);gap:2px}.bd-seg button{border:0;background:none;color:var(--muted);font-size:11px;font-weight:700;padding:6px 10px;border-radius:8px;cursor:pointer}.bd-seg button[aria-pressed=true]{background:var(--accent);color:#fff}
.bd-legs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.bd-leg{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:none;color:var(--text);border-radius:20px;padding:4px 10px;font-size:11px;cursor:pointer;transition:opacity .2s}.bd-leg i{width:9px;height:9px;border-radius:50%}.bd-leg span{font-weight:700}.bd-leg.off{opacity:.38}.bd-leg.off i{background:var(--muted)!important}
.bd-eqwrap{position:relative}.bd-eq{display:block;width:100%;height:auto;touch-action:pan-y;cursor:crosshair}
.bd-grid{stroke:var(--line);stroke-width:1}.bd-zero{stroke:var(--muted);stroke-width:1;stroke-dasharray:4 4;opacity:.7}.bd-ax{fill:var(--muted);font-size:10px}
.bd-line{stroke-dasharray:3000;stroke-dashoffset:3000;animation:bdDraw 1.1s ease-out forwards}
.bd-cl{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}
.bd-tip{position:absolute;top:6px;pointer-events:none;background:rgba(11,18,32,.92);border:1px solid var(--line);border-radius:10px;padding:7px 9px;font-size:11px;min-width:150px;box-shadow:0 8px 24px #0008;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.bd-tip small{display:block;color:var(--muted);margin-bottom:4px}.bd-tip div{display:flex;align-items:center;gap:6px;white-space:nowrap;margin-top:2px}.bd-tip i{width:8px;height:8px;border-radius:50%}.bd-tip b{margin-left:auto;padding-left:10px}
.light .bd-tip{background:rgba(255,255,255,.95)}
.bd-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.bd-row{display:grid;grid-template-columns:22px minmax(0,1.3fr) minmax(60px,1fr) 64px;align-items:center;gap:8px;width:100%;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);padding:9px 2px;text-align:left;cursor:pointer;border-radius:8px}
.bd-row:last-child{border-bottom:0}.bd-row:hover{background:var(--raised)}
.bd-pos{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--raised);font-size:11px;font-weight:800;color:var(--muted)}.bd-row:first-child .bd-pos{background:#f0b90b;color:#1a1300}
.bd-nm{min-width:0}.bd-nm b{display:block;font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-nm small{display:block;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bd-bar{position:relative;height:8px;border-radius:5px;background:var(--raised)}.bd-bar::after{content:'';position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--muted);opacity:.5}
.bd-bar i{position:absolute;top:0;bottom:0;border-radius:5px;animation:bdGrow .8s ease-out both}.bd-bar i.up{background:linear-gradient(90deg,#20bf9f88,#20bf9f)}.bd-bar i.dn{background:linear-gradient(270deg,#f06b7988,#f06b79)}
.bd-val{text-align:right;font-weight:800;font-size:12.5px;font-variant-numeric:tabular-nums}
.bd-sc{display:block;width:100%;height:auto}.bd-ideal{fill:#20bf9f;opacity:.08}.bd-idl{fill:#20bf9f;opacity:.9}
.bd-pt{cursor:pointer}.bd-pt circle{transition:r .2s,fill-opacity .2s}.bd-pt:hover circle{fill-opacity:1;stroke-width:3}
.bd-note{margin:4px 0 0;font-size:10.5px;color:var(--muted)}
.bd-lives{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.bd-live{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--line);background:var(--raised);color:var(--text);border-radius:12px;padding:10px;cursor:pointer}.bd-live:hover{border-color:var(--accent)}
.bd-live-h{display:flex;align-items:center;gap:6px;min-width:0}.bd-live-h b{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bd-live-h small{margin-left:auto;color:var(--muted);font-size:10px;white-space:nowrap}
.bd-dot{width:8px;height:8px;border-radius:50%;background:#20bf9f;box-shadow:0 0 0 0 #20bf9f88;animation:bdPulse 1.8s infinite;flex:0 0 8px}
.bd-live-m{display:flex;align-items:baseline;gap:8px}.bd-live-m b{font-size:17px}.bd-live-m small{color:var(--muted);font-size:11px}
.bd-pos-chip{font-size:9.5px;font-weight:800;letter-spacing:.6px;padding:3px 7px;border-radius:6px;align-self:center}.bd-pos-chip.long{background:#20bf9f22;color:#20bf9f}.bd-pos-chip.short{background:#f06b7922;color:#f06b79}.bd-pos-chip.flat{background:var(--surface);color:var(--muted)}
.bd-spark{display:block;width:100%;height:40px}.bd-live-f{color:var(--muted);font-size:10px}
.bd-feed{display:flex;flex-direction:column}.bd-ev{display:grid;grid-template-columns:8px 1fr auto;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}.bd-ev:last-child{border-bottom:0}
.bd-ev>i{width:8px;height:8px;border-radius:50%;margin-top:5px}.bd-ev b{font-size:12px}.bd-ev small{display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:2px}.bd-ev time{font-size:10px;color:var(--muted);white-space:nowrap}
.bd-kind{font-size:9.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--accent);margin-left:4px}
.bd-empty{padding:26px 10px;text-align:center;color:var(--muted);font-size:12px;border:1px dashed var(--line);border-radius:12px}
.bd-sub{margin:6px 2px 0;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.bd-hero{text-align:center;padding:28px 16px;border:1px solid var(--glass-line,var(--line));border-radius:18px;background:radial-gradient(120% 90% at 50% 0%,rgba(84,143,255,.16),transparent 60%),var(--glass,var(--surface));animation:bdIn .5s ease both}
.bd-hero-ic{width:56px;height:56px;margin:0 auto 10px;border-radius:16px;display:grid;place-items:center;background:var(--raised);color:var(--accent)}.bd-hero-ic svg{width:30px;height:30px}
.bd-hero h3{margin:0 0 6px;font-size:17px}.bd-hero p{margin:0 auto 16px;max-width:420px;color:var(--muted);font-size:12.5px;line-height:1.6}
.bd-steps{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:18px;flex-wrap:wrap}.bd-steps span{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700}.bd-steps b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-size:11px}.bd-steps i{width:18px;height:1px;background:var(--line)}
.bd-hero .bl-btn{margin:0 auto}
@keyframes bdIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes bdDraw{to{stroke-dashoffset:0}}
@keyframes bdGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}.bd-bar i.up{transform-origin:left}.bd-bar i.dn{transform-origin:right}
@keyframes bdPulse{0%{box-shadow:0 0 0 0 #20bf9f88}70%{box-shadow:0 0 0 7px #20bf9f00}100%{box-shadow:0 0 0 0 #20bf9f00}}
@media(prefers-reduced-motion:reduce){.bd-kpi,.bd-card,.bd-hero,.bd-line,.bd-bar i,.bd-dot{animation:none!important;stroke-dashoffset:0}}

/* ───────── NEXUS PIXEL · avatar flotante del gráfico ───────── */
.px-ink{position:absolute;inset:0;width:100%;height:100%;z-index:7;pointer-events:none;transition:opacity .25s}.px-ink.fade{opacity:0}
.px-av{position:absolute;left:0;top:0;z-index:9;will-change:transform;touch-action:none;filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.px-cv{width:100%;height:100%;display:block;cursor:grab}.px-cv:active{cursor:grabbing}
.px-spin{display:none;position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:3px solid rgba(180,107,255,.25);border-top-color:#b46bff;animation:pxSpin .8s linear infinite}
.px-av.loading .px-spin{display:block}
.px-bub{position:absolute;left:0;top:0;z-index:10;display:flex;flex-direction:column;gap:8px;padding:10px 10px 10px 12px;border-radius:16px;border:1px solid rgba(180,107,255,.32);background:rgba(13,16,30,.72);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:0 14px 34px rgba(0,0,0,.5);color:var(--text);animation:pxPop .32s cubic-bezier(.3,1.35,.5,1) both;transition:transform .12s linear}
.px-hd{display:flex;align-items:center;gap:7px;cursor:move;touch-action:none;user-select:none}.px-hd b{font-size:12.5px;letter-spacing:.3px}.px-st{font-size:10px;color:#b9a3ff;margin-right:auto}
.px-dot{width:7px;height:7px;border-radius:50%;background:#b46bff;box-shadow:0 0 8px #b46bff}.px-bub.working .px-dot{animation:pxBlink .7s ease-in-out infinite}
.px-x{width:24px;height:24px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:var(--muted);font-size:16px;line-height:1;cursor:pointer;padding:0}.px-x:hover{background:rgba(240,107,121,.2);color:#f06b79}
.px-msg{font-size:13px;line-height:1.5;min-height:20px;max-height:150px;overflow:auto;white-space:pre-wrap}
.px-bub.busy .px-msg::after{content:'';display:inline-block;width:14px;height:6px;margin-left:5px;background:radial-gradient(circle,#b46bff 2px,transparent 2.5px) 0 0/7px 6px repeat-x;animation:pxDots 1s steps(3) infinite}
.px-chips{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}.px-chips::-webkit-scrollbar{display:none}
.px-chips button{flex:0 0 auto;border:1px solid rgba(180,107,255,.35);background:rgba(180,107,255,.1);color:#e6dcff;font-size:11px;font-weight:600;padding:5px 9px;border-radius:14px;cursor:pointer;white-space:nowrap}.px-chips button:hover{background:rgba(180,107,255,.25)}
.px-in{display:flex;gap:6px}.px-in input{flex:1;min-width:0;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text);padding:0 10px;font-size:13px;outline:0}.px-in input:focus{border-color:#b46bff}
.px-in button{width:34px;height:34px;border:0;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#b46bff);color:#fff;display:grid;place-items:center;cursor:pointer}
.light .px-bub{background:rgba(255,255,255,.82);border-color:rgba(124,58,237,.3)}.light .px-chips button{color:#5b21b6}.light .px-in input{background:#f4f2fb}
@keyframes pxSpin{to{transform:rotate(360deg)}}
@keyframes pxPop{from{opacity:0;scale:.85}to{opacity:1;scale:1}}
@keyframes pxBlink{50%{opacity:.25}}
@keyframes pxDots{to{background-position:21px 0}}
/* Nexus Pixel escondido: solo se asoman media cabeza y las antenas desde el borde de abajo del gráfico */
.px-peek{position:absolute;z-index:8;right:var(--pk-r,132px);bottom:0;width:62px;height:44px;padding:0;border:0;background:none;cursor:pointer;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:opacity .25s}
.px-peek-in{position:absolute;left:0;right:0;top:4px;display:block;transform:translateY(0);transition:transform .45s cubic-bezier(.3,1.5,.5,1);animation:pkBob 3.4s ease-in-out infinite}
.px-peek .nph{width:62px;height:57px;display:block;filter:drop-shadow(0 -2px 8px rgba(168,85,247,.45))}
.px-peek:hover .px-peek-in,.px-peek:focus-visible .px-peek-in{transform:translateY(-6px)}
.px-peek:active .px-peek-in{transform:translateY(-10px) scale(1.05)}
.px-peek.out .px-peek-in{transform:translateY(60px);animation:none}
.px-peek.out{pointer-events:none}
.nph-ant{transform-box:fill-box}.nph-ant.l{transform-origin:100% 100%;animation:pkAntL 2.6s ease-in-out infinite}.nph-ant.r{transform-origin:0 100%;animation:pkAntR 2.6s ease-in-out infinite .3s}
.nph-eyes{transform-box:fill-box;transform-origin:center;animation:pkBlink 4.2s infinite,pkLook 9s ease-in-out infinite}
@keyframes pkBob{0%,100%{translate:0 3px}50%{translate:0 0}}
@keyframes pkAntL{0%,100%{rotate:0deg}50%{rotate:-9deg}}
@keyframes pkAntR{0%,100%{rotate:0deg}50%{rotate:9deg}}
@keyframes pkBlink{0%,92%,100%{scale:1 1}95%{scale:1 .1}}
@keyframes pkLook{0%,30%,100%{translate:0 0}38%,52%{translate:-7px 0}60%,75%{translate:7px 0}}
@media(max-width:1023px){.px-peek{--pk-r:70px;width:54px;height:38px}.px-peek .nph{width:54px;height:50px}.px-msg{font-size:12.5px;max-height:110px}}
@media(prefers-reduced-motion:reduce){.px-peek-in,.nph-ant,.nph-eyes{animation:none!important}}

/* Botón de Nexus Pixel en la IA: tu bot amigo (llamativo y divertido) */
.aiv-pixel{position:relative;overflow:hidden;align-items:center;gap:12px;padding:16px 16px 16px 12px;border:0!important;background:linear-gradient(135deg,#2a1260 0%,#1a1446 45%,#0d2a4a 100%)!important;box-shadow:0 10px 30px rgba(124,58,237,.35),inset 0 0 0 1px rgba(255,255,255,.08)}
.aiv-pixel::before{content:'';position:absolute;inset:-2px;border-radius:18px;padding:2px;background:conic-gradient(from var(--pxa,0deg),#b46bff,#4cc3ff,#ff6ec7,#ffd36e,#b46bff);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:pxSpinB 5s linear infinite}
@property --pxa{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes pxSpinB{to{--pxa:360deg}}
.aivp-glow{position:absolute;width:180px;height:180px;left:-40px;top:-50px;border-radius:50%;background:radial-gradient(circle,rgba(180,107,255,.55),transparent 65%);filter:blur(6px);animation:pxGlowM 6s ease-in-out infinite;pointer-events:none}
@keyframes pxGlowM{50%{transform:translate(20px,14px) scale(1.15)}}
.aivp-bot{position:relative;flex:0 0 78px;height:72px;display:grid;place-items:center;animation:pxHop 2.8s ease-in-out infinite}
.aivp-bot .nph{width:78px;height:72px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45)) drop-shadow(0 0 10px rgba(180,107,255,.55))}
@keyframes pxHop{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}
.aivp-sp{position:absolute;width:8px;height:8px;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:pxTw 2.2s ease-in-out infinite}
.aivp-sp.s1{top:2px;right:2px;background:#ffd36e}.aivp-sp.s2{bottom:6px;left:0;width:6px;height:6px;background:#4cc3ff;animation-delay:.7s}.aivp-sp.s3{top:24px;left:-4px;width:5px;height:5px;background:#ff6ec7;animation-delay:1.3s}
@keyframes pxTw{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
.aivp-txt{position:relative;min-width:0;display:flex;flex-direction:column}
.aivp-txt em{font-style:normal;align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#1a0b33;background:linear-gradient(90deg,#ffd36e,#ff9ecf);padding:3px 8px;border-radius:10px;margin-bottom:5px}
.aiv-pixel .aivp-txt b{font-size:18px;letter-spacing:.3px;background:linear-gradient(90deg,#fff,#d8c4ff 60%,#9fe3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.aiv-pixel .aivp-txt small{color:#cbbff0}
.aivp-go{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-top:9px;padding:7px 12px;border-radius:20px;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(135deg,#8b5cf6,#d946ef);box-shadow:0 4px 14px rgba(217,70,239,.45);transition:transform .2s}
.aiv-pixel:hover .aivp-go{transform:translateX(3px)}.aiv-pixel:active{transform:scale(.98)}
.light .aiv-pixel .aivp-txt b{color:transparent}
@media(prefers-reduced-motion:reduce){.aiv-pixel::before,.aivp-glow,.aivp-bot,.aivp-sp{animation:none!important}}
.aiv-srv{border:1px solid rgba(180,107,255,.35);background:rgba(180,107,255,.08);border-radius:14px;padding:12px;margin:2px 0 12px}.aiv-srv>b{display:block;font-size:13px}.aiv-srv>small{display:block;font-size:11.5px;color:var(--muted);margin:3px 0 8px}.aiv-srv>small.ok{color:#20bf9f}.aiv-srv>small.err{color:#f06b79}

/* Botón de Nexus Pixel más compacto (mismo tamaño que las demás tarjetas de la IA) */
.aiv-pixel{padding:12px 14px 12px 10px;gap:10px}
.aivp-bot{flex:0 0 52px;height:48px}.aivp-bot .nph{width:52px;height:48px}
.aivp-sp.s1{top:0;right:0}.aivp-sp.s3{top:16px;left:-3px}
.aivp-txt em{font-size:9px;padding:2px 7px;margin-bottom:3px}
.aiv-pixel .aivp-txt b{font-size:15px;margin-bottom:2px}
.aiv-pixel .aivp-txt small{font-size:12px;line-height:1.4}
.aivp-go{margin-top:6px;padding:5px 10px;font-size:11px}
.aivp-glow{width:120px;height:120px;left:-30px;top:-40px}
.aiv-pixel>.aivp-bot{flex:0 0 52px!important;width:52px;min-width:0}.aiv-pixel>.aivp-txt{flex:1 1 auto!important;min-width:0}

/* Personalizar a Nexus Pixel */
.pxc{display:flex;flex-direction:column;gap:12px}
.pxc-hero{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:linear-gradient(135deg,#2a1260,#1a1446 50%,#0d2a4a);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.pxc-hero b{display:block;font-size:15px}.pxc-hero small{display:block;font-size:12px;line-height:1.45;color:#cbbff0;margin-top:2px}
.pxc-prev{flex:0 0 56px;height:52px;display:grid;place-items:center;animation:pxHop 2.8s ease-in-out infinite}.pxc-prev .nph{width:56px;height:52px}
.pxc-prev[data-c=blue]{filter:hue-rotate(-75deg)}.pxc-prev[data-c=orange]{filter:hue-rotate(140deg) saturate(1.3)}.pxc-prev[data-c=mint]{filter:hue-rotate(-130deg)}.pxc-prev[data-c=red]{filter:hue-rotate(70deg) saturate(1.4)}
.pxc-call{align-self:stretch;background:linear-gradient(135deg,#8b5cf6,#d946ef)!important;color:#fff!important;border:0!important}
.pxc-l{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.2px}
.pxc-l input:not([type=range]):not([type=color]),.pxc-l textarea{font:inherit;font-weight:400;font-size:13px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 10px;resize:vertical}
.pxc-l input:focus,.pxc-l textarea:focus{outline:0;border-color:#b46bff}
.pxc-chips{display:flex;flex-wrap:wrap;gap:6px}
.pxc-chips button{border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:12px;font-weight:600;padding:6px 11px;border-radius:16px;cursor:pointer}
.pxc-chips button.on{border-color:#b46bff;background:rgba(180,107,255,.2);color:#fff}
.pxc-chips [data-pxk=color]{width:28px;height:28px;padding:0;border-radius:50%;border:2px solid transparent}.pxc-chips [data-pxk=color].on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.pxc-cols{flex-direction:row;gap:14px}.pxc-cols label{display:flex;align-items:center;gap:8px;font-weight:600}.pxc-cols input[type=color]{width:34px;height:26px;border:0;background:none;padding:0}
.pxc-l input[type=range]{accent-color:#b46bff}.pxc-n{color:var(--text);font-size:13px}
#pxMsg.ok{color:#20bf9f}
.light .pxc-chips button.on{color:#3b0d7a}
/* Micrófono de Nexus Pixel */
.px-in .px-mic{width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(180,107,255,.4);border-radius:10px;background:rgba(180,107,255,.12);color:#e6dcff;display:grid;place-items:center;cursor:pointer;position:relative}
.px-in .px-mic:hover{background:rgba(180,107,255,.25)}
.px-in .px-mic.on{background:#f06b79;border-color:#f06b79;color:#fff;animation:pxMicP 1.2s ease-out infinite}
@keyframes pxMicP{0%{box-shadow:0 0 0 0 rgba(240,107,121,.6)}100%{box-shadow:0 0 0 12px rgba(240,107,121,0)}}
.px-bub.listening .px-dot{background:#f06b79;box-shadow:0 0 8px #f06b79;animation:pxBlink .7s ease-in-out infinite}
.light .px-in .px-mic{color:#5b21b6}

/* ───────── Nexus Pixel en toda la app ───────── */
.px-layer{position:fixed;inset:0;z-index:45;pointer-events:none}
.px-layer>*{pointer-events:auto}
.px-layer .px-peek{position:absolute;right:auto;bottom:auto}
.px-peek.peek-up .px-peek-in{transform:translateY(-8px)}
.px-tip{position:absolute;max-width:220px;padding:8px 12px;border:1px solid rgba(180,107,255,.45);border-radius:14px 14px 4px 14px;background:rgba(20,14,40,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#efe6ff;font-size:12.5px;font-weight:600;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.45),0 0 16px rgba(168,85,247,.3);animation:pxPop .35s cubic-bezier(.3,1.35,.5,1) both}
.px-tip[hidden]{display:none}
.px-bub.long{max-width:min(400px,calc(100vw - 16px))}.px-bub.long .px-msg{max-height:min(320px,45vh)}
.px-spot{position:relative;z-index:46;outline:3px solid #b46bff!important;outline-offset:3px;border-radius:10px;animation:pxSpot 1s ease-in-out infinite}
@keyframes pxSpot{0%,100%{box-shadow:0 0 0 0 rgba(180,107,255,.7)}50%{box-shadow:0 0 0 10px rgba(180,107,255,0)}}
.expanded .px-layer .px-peek{display:none}

/* ── Botón premium: mapa de calor de liquidaciones (barra del gráfico, también en el celular) ── */
.chart-toolbar .prem-btn{--g1:#f6d27a;--g2:#c98a2b;position:relative;display:inline-flex;align-items:center;gap:6px;color:#f3d48a!important;border:1px solid transparent!important;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,#f6d27a,#b8742a 45%,#f9e3a3 70%,#c98a2b) border-box!important;font-weight:700;overflow:hidden;isolation:isolate}
.chart-toolbar .prem-btn::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,226,150,.22) 50%,transparent 70%);transform:translateX(-120%);animation:premShine 4.5s ease-in-out infinite}
@keyframes premShine{0%,62%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.chart-toolbar .prem-btn .ic{color:#f6d27a;flex:none}
.prem-tag{display:inline-flex;align-items:center;gap:2px;padding:1px 5px 1px 4px;border-radius:5px;background:linear-gradient(135deg,#f6d27a,#c98a2b);color:#1a1205;font-size:8.5px;font-weight:900;letter-spacing:.6px;line-height:1.35}
.prem-tag svg{width:9px;height:9px;fill:currentColor}
.chart-toolbar .prem-btn:hover{filter:none!important;box-shadow:0 0 14px rgba(246,210,122,.28)}
.chart-toolbar .prem-btn.on{color:#1a1205!important;background:linear-gradient(120deg,#f6d27a,#d9a043 55%,#f9e3a3) padding-box,linear-gradient(120deg,#fff1c4,#c98a2b) border-box!important;box-shadow:0 0 16px rgba(246,190,90,.4),inset 0 1px 0 rgba(255,255,255,.45)}
.chart-toolbar .prem-btn.on .ic{color:#1a1205}
.chart-toolbar .prem-btn.on .prem-tag{background:#1a1205;color:#f6d27a}
.light .chart-toolbar .prem-btn{color:#8a5a12!important}.light .chart-toolbar .prem-btn .ic{color:#b07a22}
@media(max-width:1023px){.chart-toolbar .prem-btn .prem-lbl{display:none}.chart-toolbar .prem-btn{gap:5px;order:-1}.chart-toolbar #tfBtn{order:-2}}
@media (prefers-reduced-motion:reduce){.chart-toolbar .prem-btn::before{animation:none}}

/* ── Configuración profesional: grupos de filas con ícono de color, avisos ordenados, acerca de y novedades ── */
.sg-label{margin:22px 4px 8px;font-size:10.5px;font-weight:750;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted)}
#settingsView .view-head+.sg-label,.al-pane>#notifBox>.sg-label:first-child{margin-top:6px}
.sg,#settingsView #accountBox+.sg{display:flex;flex-direction:column;border:1px solid var(--glass-line,var(--line));border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),var(--surface);overflow:hidden}
#settingsView #accountBox:not(:empty)+.sg{margin-top:10px}
.sg-row{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 14px;border:0;background:none;color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:background .2s}
.sg-row+.sg-row{border-top:1px solid rgba(255,255,255,.06)}
.sg-row:hover{background:rgba(255,255,255,.04)}.sg-row:active{background:rgba(255,255,255,.07)}
.sg-ic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 22%,transparent)}
.sg-t{flex:1;min-width:0}.sg-t b{display:block;font-size:14px;font-weight:650}.sg-t small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-chev{flex:none;color:var(--muted);opacity:.7;transition:transform .2s}.sg-row:hover .sg-chev{transform:translateX(2px);opacity:1}
#setPrefs.active{background:rgba(84,143,255,.08)}
/* Cómo te aviso: filas con ícono */
#notifBox .pref-row{gap:12px}#notifBox .pref-l{flex:1;min-width:0}
#notifBox .pref-row.off .pref-l,#notifBox .pref-row.off .sg-ic{opacity:.45}
#notifBox .pref-sel:disabled,#notifBox .pref-play:disabled{opacity:.4;cursor:not-allowed}
.pref-link{width:100%;border:0;border-top:1px solid var(--line);background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer}.pref-link:hover{background:rgba(255,255,255,.04)}.pref-link .pref-c{color:var(--muted)}
.sg-push .setting-row{border:1px solid var(--glass-line,var(--line));border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),var(--surface);padding:14px}
.sg-push .setting-row small{line-height:1.5}
/* Acerca de */
.about-card{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;border:1px solid var(--glass-line,var(--line));background:radial-gradient(120% 100% at 0 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent 60%),var(--surface)}
.about-ic{flex:none;width:52px;height:52px;border-radius:14px;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.about-t b{display:block;font-size:16px;letter-spacing:.6px}.about-t small{display:block;font-size:11px;color:var(--muted);margin-top:1px}
.about-v{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;font-size:10.5px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}
/* Novedades (línea de tiempo) */
.cl-list{position:relative;display:flex;flex-direction:column;gap:6px;padding-left:16px}
.cl-list::before{content:'';position:absolute;left:5px;top:14px;bottom:14px;width:2px;border-radius:2px;background:linear-gradient(var(--accent),rgba(255,255,255,.06))}
.cl-ver{position:relative;border:1px solid var(--glass-line,var(--line));border-radius:14px;background:var(--surface);transition:border-color .2s}
.cl-ver::before{content:'';position:absolute;left:-15px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--surface);border:2px solid var(--muted)}
.cl-ver:first-child::before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 10px var(--accent)}
.cl-ver[open]{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.cl-ver summary{display:flex;align-items:center;gap:10px;padding:10px 12px;list-style:none;cursor:pointer}.cl-ver summary::-webkit-details-marker{display:none}
.cl-v{flex:none;min-width:34px;padding:2px 6px;border-radius:7px;text-align:center;font-size:11px;font-weight:800;color:var(--text);background:rgba(255,255,255,.07)}
.cl-ver:first-child .cl-v{background:var(--accent);color:#fff}
.cl-h{flex:1;min-width:0}.cl-h b{display:block;font-size:13px;font-weight:700;line-height:1.3}.cl-h small{display:block;font-size:10.5px;color:var(--muted);margin-top:1px}
.cl-new{flex:none;font-size:9px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;padding:2px 6px;border-radius:6px;color:#20bf9f;background:rgba(32,191,159,.13)}
.cl-chev{flex:none;color:var(--muted);transition:transform .25s}.cl-ver[open] .cl-chev{transform:rotate(180deg)}
.cl-ver ul{margin:0;padding:0 14px 12px 32px;font-size:12px;line-height:1.55;color:var(--muted)}.cl-ver li+li{margin-top:5px}.cl-ver li::marker{color:var(--accent)}
.light .sg-row+.sg-row{border-top-color:rgba(0,0,0,.06)}.light .sg-row:hover{background:rgba(0,0,0,.03)}

/* ═════ Minimalista y plano (v2.4): sin reflejos blancos en esquinas ni brillos internos en botones, tarjetas y paneles ═════ */
:root{--shine:none;--shadow:0 4px 14px rgba(0,0,0,.22)}
.light{--shine:none;--shadow:0 4px 12px rgba(30,60,120,.08)}
.summary,.setting-row,.nw-item,.pref-list,.pref-play,.pref-pill,.st-acct,.st-econ,.st-econ:hover,.st-econ[aria-expanded=true],.ec-pop,.sg,.sg-push .setting-row,.pwa-card,.acct-row,.row-menu,.set-circle,.ss-btn:hover,.ss-btn[aria-expanded=true],.ctab.on{background-image:none!important}
.summary,.setting-row,.nw-item,.search,.script-row,.small-button,.icon-btn,.account-btn,.chart-controls button,.nw-tabs button,.nw-chips button,.nw-ref,.nw-more,.set-circle,.set-circle:hover,.pref-play,.pref-pill,.acct-btn:hover,.row-menu,.timeframes button.active{box-shadow:none!important}
.nw-tabs button{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.07)}
.nw-tabs button.on{background:var(--accent)!important;color:#fff;border-color:transparent;box-shadow:none!important}
.al-tabs button[aria-selected=true]{box-shadow:none;background:rgba(255,255,255,.07)}
.primary{background:var(--accent)!important;box-shadow:none!important}
.ctab.on{background-color:color-mix(in srgb,var(--accent) 18%,var(--raised))!important;box-shadow:none!important}
.toggle.on{box-shadow:none}
.nw-item{background-color:var(--surface);border-color:rgba(255,255,255,.06)}
.light .nw-tabs button{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.08)}

/* Franja de temporalidades y botones (PC): cristal oscuro translúcido de lado a lado, el gráfico se ve a través */
@media(min-width:1024px){
  #chartView .chart-bar{position:relative;z-index:6;background:rgba(5,7,12,.45);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:calc(-1 * var(--cbh,0px))}
  .light #chartView .chart-bar{background:rgba(255,255,255,.5);border-bottom-color:rgba(20,40,80,.08)}
  /* La franja de pestañas también es cristal oscuro translúcido: el gráfico pasa por debajo de las dos */
  #chartView .chart-tabs{position:relative;z-index:6;background:rgba(5,7,12,.45);-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4)}
  .light #chartView .chart-tabs{background:rgba(255,255,255,.5)}
  #chartView .chart-tabs .ctab:not(.on){background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08)}
  .light #chartView .chart-tabs .ctab:not(.on){background:rgba(255,255,255,.55);border-color:rgba(20,40,80,.1)}
  #chartView .chart-bar .timeframes,#chartView .chart-bar .chart-toolbar{background:transparent!important;border-color:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
  #chartView .chart-bar .timeframes button.active{background:rgba(255,255,255,.08)!important;border-color:transparent!important}
  #chartArea #chartSymHead{top:calc(6px + var(--cbh,0px))}
  #chartArea .chart-label{top:calc(8px + var(--sh,0px) + var(--cbh,0px))!important}
  #chartArea .draw-hint{top:calc(10px + var(--cbh,0px))}
}
@media(max-width:1023px){
  .chart-toolbar{background:rgba(6,9,15,.5);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border-color:rgba(255,255,255,.06)}
  .chart-toolbar button{background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.07)!important;box-shadow:none!important}
  .chart-toolbar .prem-btn{background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,#f6d27a,#b8742a 45%,#f9e3a3 70%,#c98a2b) border-box!important;border-color:transparent!important}
  .chart-toolbar .prem-btn.on{background:linear-gradient(120deg,#f6d27a,#d9a043 55%,#f9e3a3) padding-box,linear-gradient(120deg,#fff1c4,#c98a2b) border-box!important}
  .light .chart-toolbar{background:rgba(255,255,255,.6)}
}
/* Ícono de IA con degradado (cian → violeta → magenta) */
.ai-ic{overflow:visible}
.bottom-nav button .ai-ic{filter:none!important}
.sheet{box-shadow:0 -20px 60px rgba(0,0,0,.45)!important;border-color:rgba(255,255,255,.08)!important}
/* Mi seguimiento sin encabezado: solo los botones, «Añadir cripto» destacado */
#watchView .watch-head{margin:0 0 14px;justify-content:flex-end}
#watchView .watch-head .head-actions{display:flex;gap:8px;width:100%}
#watchView .watch-head .small-button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border-radius:12px;font-size:12.5px;font-weight:700}
#watchView #addSection{background:transparent!important;border:1px dashed rgba(255,255,255,.16)!important;color:var(--muted)}
#watchView #addSection:hover{color:var(--text);border-color:rgba(255,255,255,.3)!important}
#watchView .add-main{flex:1.4!important;background:var(--accent)!important;border-color:transparent!important;color:#fff!important}
#watchView .add-main:hover{filter:brightness(1.1)}
.light #watchView #addSection{border-color:rgba(0,0,0,.18)!important}
body.pane #chartView .chart-bar{margin-bottom:0}

/* ═════ Explorador de indicadores (por categorías) ═════ */
@media(min-width:720px){
  #sheet[data-mode=indicators]{width:min(940px,94vw)!important;height:min(680px,86vh);max-height:none!important;padding:12px 14px 14px}
}
#sheet[data-mode=indicators]{height:min(88dvh,760px)}
#sheet[data-mode=indicators] .sheet-list{flex:1;min-height:0;overflow:hidden;display:flex}
.ib{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;width:100%}
.ib-top{display:flex;gap:8px;align-items:center}
.ib-search{flex:1;display:flex;align-items:center;gap:8px;height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--glass-line,var(--line));background:rgba(255,255,255,.03);color:var(--muted)}
.ib-search:focus-within{border-color:var(--accent)}
.ib-search input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--text);font-size:14px}
.ib-new{display:inline-flex;align-items:center;gap:6px;height:42px;padding:0 14px;border-radius:12px;border:0;background:var(--accent);color:#fff;font-weight:700;font-size:13px;white-space:nowrap}
.ib-new:hover{filter:brightness(1.1)}
.ib-main{display:flex;gap:12px;flex:1;min-height:0}
.ib-cats{flex:0 0 200px;display:flex;flex-direction:column;gap:2px;overflow:auto;padding-right:6px;border-right:1px solid rgba(255,255,255,.06)}
.ib-cats button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:none;color:var(--muted);font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background .2s,color .2s}
.ib-cats button.sub{padding-left:22px;font-size:12.5px;font-weight:550}
.ib-cats button span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib-cats button em{font-style:normal;font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:8px;background:rgba(255,255,255,.06);color:var(--muted)}
.ib-cats button:hover{background:rgba(255,255,255,.04);color:var(--text)}
.ib-cats button.on{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}
.ib-cats button.on svg{color:var(--accent)}.ib-cats button.on em{background:var(--accent);color:#fff}
.ib-list{flex:1;min-width:0;overflow:auto;padding-right:4px;scrollbar-width:thin}
.ib-sec{margin:14px 4px 6px;font-size:10.5px;font-weight:750;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted)}
.ib-sec:first-child{margin-top:2px}
.ib-card{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:6px;border-radius:14px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);transition:border-color .2s,background .2s}
.ib-card:hover{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.04)}
.ib-card.on{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.ib-card .ind-art{flex:none;display:grid;place-items:center;width:46px;height:34px;border-radius:9px;background:rgba(0,0,0,.25)}
.ib-t{flex:1;min-width:0}.ib-t b{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:650}.ib-t small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted);line-height:1.4}
.ib-act{flex:none;display:flex;align-items:center;gap:8px}
.ib-ib{display:grid;place-items:center;width:30px;height:30px;padding:0;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:none;color:var(--muted)}
.ib-ib:hover{color:var(--text);border-color:rgba(255,255,255,.2)}
.ib-card.mine{align-items:flex-start}
.ib-thumb{flex:none;width:148px;border-radius:10px;overflow:hidden;background:#0b0e14;border:1px solid rgba(255,255,255,.06)}
.ib-thumb .pine-prev{display:block;width:100%;height:auto;margin:0}.ib-thumb .pine-prev.ph{display:grid;place-items:center;min-height:64px;padding:8px;font-size:10.5px;color:var(--muted);text-align:center}
.ib-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ib-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:none;color:var(--text);font-size:11.5px;font-weight:650;cursor:pointer}
.ib-pill:hover{border-color:rgba(255,255,255,.25)}
.ib-pill.main{background:var(--accent);border-color:transparent;color:#fff}
.ib-pill.warn{color:#f5c568;border-color:rgba(245,197,104,.35)}
.ib-pill.del{color:var(--red);border-color:rgba(240,107,121,.25)}
.ib-okt{color:var(--green)}
.ib-import{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;margin-bottom:10px;border-radius:14px;border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 6%,transparent)}
.ib-import>div:first-child{flex:1;min-width:220px}.ib-import b{font-size:13.5px}.ib-import small{display:block;margin-top:3px;font-size:11.5px;color:var(--muted);line-height:1.45}
.ib-import .ib-btns{margin:0}
.ib-empty{padding:30px 14px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6}
.ib .nova-card{margin-bottom:6px}
@media(max-width:719px){
  .ib-main{flex-direction:column;gap:8px}
  .ib-cats{flex:none;flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:0;padding:0 0 4px;gap:6px;scrollbar-width:none}
  .ib-cats button,.ib-cats button.sub{flex:none;width:auto;padding:7px 11px;border-radius:999px;border:1px solid rgba(255,255,255,.08);font-size:12px}
  .ib-cats button svg{display:none}
  .ib-new span{display:none}.ib-new{padding:0 12px}
  .ib-card.mine{flex-wrap:wrap}.ib-thumb{width:100%}
}
.light .ib-card{background:rgba(0,0,0,.02);border-color:rgba(0,0,0,.07)}.light .ib-search{background:rgba(0,0,0,.03)}

/* ═════ Convertidor de Pine (pasos, código y corrección con IA) ═════ */
.pc-back{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ppIn .2s ease-out}
.pc-back[hidden]{display:none}
.pc-dlg{width:min(820px,100%);max-height:min(640px,92vh);display:flex;flex-direction:column;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:var(--surface);box-shadow:0 30px 80px rgba(0,0,0,.6);overflow:hidden}
.pc-head{display:flex;align-items:flex-start;gap:12px;padding:16px 18px 10px}
.pc-head>div{flex:1;min-width:0}.pc-title{display:block;font-size:16px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-head small{display:block;margin-top:3px;color:var(--muted);font-size:12px}
.pc-time{font:600 12px ui-monospace,Menlo,Consolas,monospace;color:var(--muted);padding-top:3px}
.pc-x{border:0;background:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 4px}
.pc-prog{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 18px 12px}
.pc-prog i{height:3px;border-radius:3px;background:rgba(255,255,255,.08);transition:background .4s}.pc-prog i.on{background:var(--accent)}
.pc-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;padding:0 18px;flex:1;min-height:0}
.pc-steps{list-style:none;margin:0;padding:0;overflow:auto}
.pc-st{display:flex;gap:10px;padding:7px 0;font-size:13px}
.pc-st b{display:block;font-weight:650}.pc-st small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted);line-height:1.4;word-break:break-word}
.pc-ic{flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:1px;font-weight:900;font-size:12px}
.pc-ic svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.pc-st.ok .pc-ic{color:var(--green)}.pc-st.err .pc-ic{color:var(--red)}.pc-st.warn .pc-ic{color:#f5c568}
.pc-st.wait{color:var(--muted)}.pc-st.wait b{font-weight:500}
.pc-dot{width:7px;height:7px;border-radius:50%;border:1.5px solid var(--muted)}
.pc-spin{width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:pcSpin .8s linear infinite}
@keyframes pcSpin{to{transform:rotate(360deg)}}
.pc-code{display:flex;flex-direction:column;min-height:240px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#06080d;overflow:hidden}
.pc-file{padding:8px 12px;font:600 11.5px ui-monospace,Menlo,Consolas,monospace;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.06);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-pre{flex:1;margin:0;padding:10px 12px;overflow:auto;font:11.5px/1.55 ui-monospace,Menlo,Consolas,monospace;color:#c9d3e3;white-space:pre}
.pc-ln{display:inline-block;width:34px;margin-right:10px;text-align:right;color:#4b566a;user-select:none}
.pc-foot{display:flex;align-items:center;gap:12px;padding:14px 18px;margin-top:12px;border-top:1px solid rgba(255,255,255,.06)}
.pc-note{flex:1;font-size:12px;color:var(--muted)}
.pc-btns{display:flex;gap:8px}
.pc-cancel,.pc-go{padding:9px 16px;border-radius:10px;font-weight:700;font-size:13px;cursor:pointer}
.pc-cancel{border:1px solid rgba(255,255,255,.14);background:none;color:var(--text)}
.pc-go{border:0;background:#fff;color:#0b0e14}
@media(max-width:719px){.pc-body{grid-template-columns:1fr}.pc-code{min-height:160px;max-height:30vh}.pc-foot{flex-wrap:wrap}.pc-note{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){.pc-spin{animation:none}}

/* Ventanas de pegar / convertir Pine: el código se adapta al alto disponible y los botones siempre quedan visibles */
#sheet[data-mode=pine] #pineCode,#sheet[data-mode=paste] #pasteCode{height:clamp(150px,calc(78dvh - 330px),340px)}
@media(min-width:720px){#sheet[data-mode=pine],#sheet[data-mode=paste]{width:min(720px,92vw)!important;max-height:min(86vh,760px)!important}#sheet[data-mode=pine] #pineCode,#sheet[data-mode=paste] #pasteCode{height:clamp(180px,calc(86vh - 330px),420px)}}
#sheet[data-mode=pine] .pine-actions,#sheet[data-mode=paste] .paste-actions{position:sticky;bottom:-1px;z-index:2;margin:8px 0 0;padding:10px 0 4px;background:var(--surface)}
#sheet[data-mode=pine] .pine-actions .primary{margin:0;padding:12px 14px;border-radius:12px}
.free-tag{display:inline-flex;align-items:center;padding:1px 6px;border-radius:5px;background:rgba(32,191,159,.16);color:#20bf9f;font-size:8.5px;font-weight:900;letter-spacing:.6px;line-height:1.35;vertical-align:middle}
.nova-card .prem-tag{vertical-align:middle}
.nova-prev.ph{display:grid;place-items:center;min-height:110px;background:#0b0e14;color:var(--muted);font-size:12px}

/* ── Repetición de mercado ── */
.chart-toolbar #replayBtn.on{color:#fff!important;background:color-mix(in srgb,var(--accent) 35%,transparent)!important;border-color:transparent!important}
@media(max-width:1023px){.chart-toolbar #replayBtn .rp-lbl{display:none}}
body.rp-picking #chartArea{cursor:crosshair}
.rp-bar{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);z-index:9;display:flex;align-items:center;gap:4px;padding:5px 6px 5px 10px;max-width:calc(100% - 16px);border-radius:16px;background:rgba(8,11,18,.82);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(0,0,0,.45);color:var(--text);animation:ppIn .2s ease-out;white-space:nowrap}
.rp-bar button{display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border:0;border-radius:10px;background:none;color:var(--text);cursor:pointer}
.rp-bar button:hover{background:rgba(255,255,255,.08)}
.rp-bar .rp-play{background:var(--accent);color:#fff;min-width:38px}
.rp-bar .rp-play:hover{background:var(--accent);filter:brightness(1.1)}
.rp-bar .rp-txt{font-size:12px;font-weight:800}
.rp-bar .rp-spd{color:#f5c568}
.rp-bar .rp-x{color:var(--muted)}.rp-bar .rp-x:hover{color:var(--red)}
.rp-tag{font-size:9.5px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:var(--accent);margin-right:4px}
.rp-hint{font-size:12.5px;color:var(--text);padding:0 6px}
.rp-info{display:flex;flex-direction:column;line-height:1.2;padding:0 8px;border-left:1px solid rgba(255,255,255,.1);margin-left:2px}
.rp-info b{font-size:12px;font-variant-numeric:tabular-nums}.rp-info small{font-size:10px;color:var(--muted)}
@media(max-width:560px){.rp-bar{bottom:54px;gap:2px;padding:4px}.rp-tag,.rp-bar [data-rp=next10]{display:none}.rp-info small{display:none}.rp-bar button{min-width:30px;height:30px}}
.light .rp-bar{background:rgba(255,255,255,.88)}

/* ── Calculadora de riesgo ── */
.rk-back{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:14px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:ppIn .2s ease-out}
.rk-dlg{width:min(760px,100%);max-height:min(680px,94vh);display:flex;flex-direction:column;border-radius:18px;border:1px solid rgba(255,255,255,.1);background:var(--surface);box-shadow:0 30px 80px rgba(0,0,0,.6);overflow:hidden}
.rk-head{display:flex;align-items:flex-start;gap:10px;padding:16px 18px 8px}.rk-head>div{flex:1}.rk-head b{font-size:16px}.rk-head small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.rk-x{border:0;background:none;color:var(--muted);font-size:16px;cursor:pointer}
.rk-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;padding:6px 18px 12px;overflow:auto}
.rk-sec{margin:12px 2px 6px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.rk-sec:first-child{margin-top:0}
.rk-f{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:12.5px}
.rk-f>div{display:flex;align-items:center;width:150px;height:36px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03)}
.rk-f>div:focus-within{border-color:var(--accent)}
.rk-f input{width:100%;min-width:0;border:0;outline:0;background:none;color:var(--text);font-size:13.5px;font-weight:650;font-variant-numeric:tabular-nums;text-align:right}
.rk-f em{font-style:normal;margin-left:6px;font-size:11px;color:var(--muted)}
.rk-lev{display:flex;align-items:center;gap:10px;margin-bottom:7px;font-size:12.5px}.rk-lev span{flex:1}.rk-lev input{width:120px;accent-color:var(--accent)}.rk-lev b{min-width:40px;text-align:right;font-variant-numeric:tabular-nums}
.rk-out{display:flex;flex-direction:column;gap:8px}
.rk-side{align-self:flex-start;padding:3px 9px;border-radius:7px;font-size:11px;font-weight:800;letter-spacing:.5px}.rk-side.l{background:rgba(32,191,159,.14);color:var(--green)}.rk-side.s{background:rgba(240,107,121,.14);color:var(--red)}
.rk-kpi{padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
.rk-kpi small{display:block;font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.rk-kpi b{display:block;margin-top:3px;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums}
.rk-kpi em{display:block;margin-top:2px;font-style:normal;font-size:11px;color:var(--muted)}
.rk-kpi.hero{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.rk-kpi.hero b{font-size:22px}
.rk-kpi.neg b{color:var(--red)}.rk-kpi.pos b{color:var(--green)}.rk-kpi.liq b{color:#f5c568}
.rk-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rk-warn{margin:0;padding:10px 12px 10px 28px;border-radius:12px;background:rgba(245,197,104,.1);color:#f5c568;font-size:12px;line-height:1.5}
.rk-ok{margin:0;font-size:12px;color:var(--green)}
.rk-note{margin:0;font-size:10.5px;color:var(--muted);line-height:1.5}
.rk-empty{padding:30px 10px;text-align:center;color:var(--muted);font-size:13px}
.rk-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid rgba(255,255,255,.06)}
.rk-chk{flex:1;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);min-width:220px}
.rk-btns{display:flex;gap:8px}
.rk-b{padding:9px 15px;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:none;color:var(--text);font-weight:700;font-size:13px;cursor:pointer}
.rk-b.main{background:var(--accent);border-color:transparent;color:#fff}
@media(max-width:640px){.rk-body{grid-template-columns:1fr}.rk-f>div{width:140px}.rk-dlg{max-height:96vh}}
@media(min-width:1024px){#chartArea .pbar{top:calc(10px + var(--cbh,0px))}} /* la barra del dibujo va debajo de la franja de cristal de temporalidades */

/* ───────── Panel macro ───────── */
.nw-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;min-width:0}
.mc-box{padding:2px 0 10px}
.mc-msg{padding:28px 14px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--line);border-radius:14px}
.mc-msg.warn{color:#f0b90b}
.mc-mood{display:flex;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.025);margin-bottom:12px;position:relative;overflow:hidden}
.mc-mood:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--muted)}
.mc-mood.up:before{background:var(--green)}.mc-mood.dn:before{background:var(--red)}.mc-mood.flat:before{background:#f0b90b}
.mc-mood small{display:block;font-size:10px;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);font-weight:700}
.mc-mood b{display:block;font-size:18px;margin:4px 0 4px;letter-spacing:-.3px}
.mc-mood.up b{color:var(--green)}.mc-mood.dn b{color:var(--red)}.mc-mood.flat b{color:#f0b90b}
.mc-mood p{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.mc-box{container-type:inline-size}
.mc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,168px),1fr));gap:10px}
.mc-card{border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:14px;padding:12px 13px 11px;display:flex;flex-direction:column;gap:7px;min-width:0}
.mc-card.off{opacity:.55}
.mc-wide{grid-column:1/-1}
@container (min-width:560px){.mc-wide{grid-column:span 2}}
.nw-tabs button{overflow:hidden;text-overflow:ellipsis}
.mc-h{display:flex;align-items:baseline;justify-content:space-between;gap:6px}
.mc-h b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-h small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px;flex-wrap:wrap}
.mc-v{font-size:20px;font-weight:750;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.mc-ch{font-size:12px;font-weight:700;padding:3px 7px;border-radius:7px;font-variant-numeric:tabular-nums}
.mc-ch.up{color:var(--green);background:rgba(32,191,159,.12)}.mc-ch.dn{color:var(--red);background:rgba(240,107,121,.12)}.mc-ch.flat{color:var(--muted);background:rgba(255,255,255,.05)}
.mc-sp{width:100%;height:34px;display:block}
.mc-per{display:flex;justify-content:space-between;gap:8px;font-size:10.5px;color:var(--muted);flex-wrap:wrap}
.mc-per i{font-style:normal;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}
.mc-per i.up{color:var(--green)}.mc-per i.dn{color:var(--red)}
.mc-r{margin:0;font-size:11.5px;line-height:1.45;color:var(--muted);display:flex;gap:6px;align-items:flex-start}
.mc-dot{flex:0 0 7px;width:7px;height:7px;border-radius:50%;margin-top:5px;background:var(--muted)}
.mc-dot.up{background:var(--green)}.mc-dot.dn{background:var(--red)}
.mc-gauge{display:flex;align-items:center;gap:14px}
.mc-gauge svg{width:132px;height:70px;flex:0 0 auto}
.mc-gv b{display:block;font-size:30px;line-height:1;font-weight:800;letter-spacing:-.8px}
.mc-gv span{display:block;font-size:13px;font-weight:700;margin-top:4px}
.mc-dom{display:flex;height:12px;border-radius:7px;overflow:hidden;gap:2px;background:rgba(255,255,255,.04)}
.mc-dom i{display:block;height:100%}
.mc-leg{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px;color:var(--text);font-variant-numeric:tabular-nums}
.mc-leg em{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:5px;vertical-align:0}
.mc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;font-size:11px;color:var(--muted);flex-wrap:wrap}
.mc-note{font-size:10.5px;color:var(--muted);margin:8px 2px 0;opacity:.8}
.light .mc-card,.light .mc-mood{background:rgba(0,0,0,.015)}

/* ───────── Planes: Gratis · Plus · Infinity ───────── */
.pl-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;font-size:11.5px;font-weight:750;white-space:nowrap;flex:0 0 auto}
.pl-badge.free{background:rgba(255,255,255,.06);color:#c3cad6;border:1px solid rgba(255,255,255,.1)}
.pl-badge.plus{background:linear-gradient(135deg,#ff3d5a,#ff8a3d);color:#fff}
.pl-badge.inf{background:linear-gradient(135deg,#f5c451,#b47bff 60%,#5ea0ff);color:#120c1f}
.pl-ov{position:fixed;inset:0;z-index:60;background:rgba(2,4,9,.86);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:max(16px,env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom))}
.pl-ov[hidden]{display:none}
.pl-box{width:min(1020px,100%);background:#0a0d14;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:20px 18px 18px;margin:auto 0;opacity:0;transform:translateY(10px);transition:opacity .18s,transform .18s}
.pl-ov.open .pl-box{opacity:1;transform:none}
.pl-top{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:16px}
.pl-top small{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--accent)}
.pl-top h2{margin:4px 0 6px;font-size:24px;letter-spacing:-.6px}
.pl-top p{margin:0;max-width:620px;font-size:12.5px;line-height:1.55;color:var(--muted)}
.pl-x{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text);width:34px;height:34px;border-radius:10px;flex:0 0 auto}
.pl-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:820px){.pl-cols{grid-template-columns:1fr}}
.pl-col{position:relative;border-radius:18px;padding:16px 15px 15px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:12px;overflow:hidden}
.pl-col.plus{border-color:rgba(255,77,95,.35);background:linear-gradient(180deg,rgba(255,61,90,.09),rgba(255,138,61,.02) 45%,transparent)}
.pl-col.inf{border-color:rgba(180,123,255,.4);background:linear-gradient(180deg,rgba(245,196,81,.08),rgba(180,123,255,.07) 40%,transparent)}
.pl-col.inf:before{content:'';position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#f5c451,#b47bff,#5ea0ff);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pl-col.cur{box-shadow:0 0 0 2px var(--accent) inset}
.pl-col header{display:flex;align-items:center;gap:11px}
.pl-col header b{display:block;font-size:19px;letter-spacing:-.3px}
.pl-col header small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}
.pl-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;background:rgba(255,255,255,.06);color:#c3cad6}
.pl-col.plus .pl-ic{background:linear-gradient(135deg,#ff3d5a,#ff8a3d);color:#fff}
.pl-col.inf .pl-ic{background:linear-gradient(135deg,#f5c451,#b47bff 60%,#5ea0ff);color:#120c1f}
.pl-col.plus header b{color:#ff7a6b}
.pl-col.inf header b{background:linear-gradient(90deg,#f5c451,#c69bff,#7fb3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.pl-now{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:800;padding:4px 8px;border-radius:999px;background:var(--accent);color:#fff}
.pl-f{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.pl-f li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.4}
.pl-f svg{flex:0 0 auto;margin-top:2px;color:var(--green)}
.pl-col.plus .pl-f svg{color:#ff8a6b}.pl-col.inf .pl-f svg{color:#c69bff}
.pl-act,.pl-steps{margin-top:auto}
.pl-steps{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:pl}
.pl-steps li{counter-increment:pl;position:relative;padding:11px 11px 11px 38px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:6px}
.pl-steps li:before{content:counter(pl);position:absolute;left:11px;top:11px;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:rgba(255,255,255,.08)}
.pl-steps b{font-size:12.5px}
.pl-steps small{font-size:11.5px;line-height:1.45;color:var(--muted)}
.pl-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border-radius:12px;border:0;font:inherit;font-size:13px;font-weight:750;text-decoration:none;cursor:pointer;width:100%}
.pl-btn.plus{background:linear-gradient(135deg,#ff3d5a,#ff7a3d);color:#fff}
.pl-btn.inf{background:linear-gradient(135deg,#f5c451,#b47bff 60%,#5ea0ff);color:#120c1f}
.pl-btn.ghost{background:rgba(255,255,255,.05);color:var(--text);border:1px solid rgba(255,255,255,.1)}
.pl-btn:disabled{opacity:.6;cursor:default}
@media(hover:hover){.pl-btn.plus:hover,.pl-btn.inf:hover{filter:brightness(1.08)}.pl-btn.ghost:not(:disabled):hover{background:rgba(255,255,255,.09)}}
.pl-code{display:inline-flex;align-items:center;gap:5px;margin-left:4px;padding:2px 8px;border-radius:7px;border:1px dashed rgba(198,155,255,.6);background:rgba(180,123,255,.1);color:#e0ccff;font:inherit;font-weight:800;letter-spacing:.8px;cursor:pointer}
.pl-uid{display:flex;gap:8px}
.pl-uid input{flex:1;min-width:0;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:9px 11px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums}
.pl-uid .pl-btn{width:auto}
.pl-msg{min-height:0}.pl-msg.bad{color:var(--red)!important}
.light .pl-box{background:#fff;border-color:rgba(0,0,0,.08)}
.light .pl-col{background:rgba(0,0,0,.015);border-color:rgba(0,0,0,.08)}
.light .pl-steps li{background:rgba(0,0,0,.025);border-color:rgba(0,0,0,.06)}
.light .pl-uid input{background:#fff;border-color:rgba(0,0,0,.15)}

/* ───────── Operar desde el gráfico (cuenta demo) ───────── */
#tradeBtn.on{background:var(--accent)!important;color:#fff!important;border-color:transparent!important}
.tr-panel{position:absolute;top:72px;right:72px;width:300px;max-height:calc(100% - 120px);display:flex;flex-direction:column;z-index:9;background:rgba(10,13,20,.96);border:1px solid rgba(255,255,255,.09);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-size:12px;color:var(--text);overflow:hidden}
.tr-panel[hidden]{display:none}
.tr-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07)}
.tr-head>div:first-child b{display:block;font-size:14px}
.tr-demo{display:inline-block;margin-top:2px;font-size:9.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#f0b90b;background:rgba(240,185,11,.12);padding:2px 6px;border-radius:5px}
.tr-eq{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}.tr-eq b{display:block;font-size:13px}.tr-eq small{font-size:10.5px}
.tr-x{border:0;background:rgba(255,255,255,.06);color:var(--text);width:28px;height:28px;border-radius:8px;flex:0 0 auto}
.tr-body{overflow-y:auto;padding:10px 12px 12px;display:flex;flex-direction:column;gap:9px;overscroll-behavior:contain}
.tr-seg,.tr-tabs{display:flex;gap:4px;background:rgba(255,255,255,.04);border-radius:10px;padding:3px}
.tr-seg button,.tr-tabs button{flex:1;border:0;background:none;color:var(--muted);padding:7px 4px;border-radius:8px;font:inherit;font-weight:700;font-size:11.5px}
.tr-seg button.on,.tr-tabs button.on{background:rgba(255,255,255,.1);color:var(--text)}
.tr-tabs i{font-style:normal;margin-left:4px;color:var(--accent)}
.tr-f{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 6px 0 10px;min-height:38px}
.tr-f[hidden]{display:none}
.tr-f>span{color:var(--muted);font-size:11px;flex:0 0 52px}
.tr-f input{flex:1;min-width:0;border:0;background:none;color:var(--text);font:inherit;font-size:13px;text-align:right;outline:0;font-variant-numeric:tabular-nums}
.tr-mini,.tr-unit{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text);border-radius:7px;padding:4px 8px;font:inherit;font-size:10.5px;font-weight:700;white-space:nowrap}
.tr-pcts{display:flex;gap:5px}.tr-pcts button{flex:1;border:1px solid rgba(255,255,255,.09);background:none;color:var(--muted);border-radius:7px;padding:5px 0;font:inherit;font-size:11px;font-weight:700}
.tr-lev{display:flex;align-items:center;gap:8px}.tr-lev span{color:var(--muted);font-size:11px}.tr-lev input{flex:1;accent-color:var(--accent)}.tr-lev b{min-width:38px;text-align:right;font-variant-numeric:tabular-nums}
.tr-tpsl{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;align-items:center}
.tr-tpsl input[type=text]{min-width:0;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:7px 9px;color:var(--text);font:inherit;text-align:right;font-variant-numeric:tabular-nums}
.tr-tpsl input:disabled{opacity:.4}
.tr-chk{display:flex;align-items:center;gap:5px;font-weight:700;font-size:11.5px}.tr-chk input{accent-color:var(--accent)}
.tr-calc{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.03)}
.tr-calc b{color:var(--text);font-variant-numeric:tabular-nums}
.tr-panel .up{color:var(--green)!important}.tr-panel .dn{color:var(--red)!important}
.tr-go{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tr-go button{border:0;border-radius:11px;padding:9px 6px;color:#fff;font:inherit;display:flex;flex-direction:column;align-items:center;gap:1px}
.tr-go b{font-size:14px}.tr-go small{font-size:10px;opacity:.85}
.tr-buy{background:linear-gradient(135deg,#14a67f,#20bf9f)}.tr-sell{background:linear-gradient(135deg,#d9475a,#f06b79)}
@media(hover:hover){.tr-go button:hover{filter:brightness(1.1)}}
.tr-list{display:flex;flex-direction:column;gap:7px}
.tr-row{border:1px solid rgba(255,255,255,.07);border-radius:11px;padding:8px 9px;display:flex;flex-direction:column;gap:5px}
.tr-r1{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tr-r1 small{color:var(--muted)}
.tr-sym{border:0;background:none;color:var(--text);font:inherit;font-weight:700;padding:0;text-decoration:underline dotted rgba(255,255,255,.3)}
.tr-pn{margin-left:auto;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.tr-pn small{display:block;font-size:10px;font-weight:600;color:inherit}
.tr-r2{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:10.5px;color:var(--muted)}.tr-r2 b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.tr-r3{display:flex;gap:6px}.tr-r3 button,.tr-cancel{flex:1;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);color:var(--text);border-radius:8px;padding:6px;font:inherit;font-size:11px;font-weight:700}
.tr-cancel{flex:0 0 auto;margin-left:auto}
.tr-empty{color:var(--muted);text-align:center;font-size:11.5px;line-height:1.5;padding:12px 6px}
.tr-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:10.5px}
.ctx-buy span{color:var(--green)}.ctx-sell span{color:var(--red)}
@media(max-width:760px){
  .tr-panel{position:fixed;left:0;right:0;top:auto;bottom:calc(68px + env(safe-area-inset-bottom));width:auto;max-height:62dvh;border-radius:18px 18px 0 0;z-index:40}
}
.light .tr-panel{background:rgba(255,255,255,.97);border-color:rgba(0,0,0,.1)}
.light .tr-f,.light .tr-tpsl input[type=text]{background:#fff;border-color:rgba(0,0,0,.14)}
/* fondos animados de los planes */
.pl-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;border-radius:inherit}
.pl-col>*:not(.pl-bg){position:relative;z-index:1}
.pl-col.inf{background:radial-gradient(120% 80% at 50% 0%,#1a1033 0%,#0b0a1a 55%,#06060e 100%)}
.pl-col.plus{background:linear-gradient(180deg,#1a0b10,#0d0a0d)}
.pl-col.inf .pl-steps li,.pl-col.plus .pl-steps li{background:rgba(8,8,16,.72)}
.pl-col.inf .pl-ic{box-shadow:0 0 22px rgba(180,123,255,.55)}
.pl-col.plus .pl-ic{box-shadow:0 0 16px rgba(255,80,80,.35)}
.light .pl-col.inf{background:radial-gradient(120% 80% at 50% 0%,#1a1033 0%,#0b0a1a 55%,#06060e 100%);color:#eef}
.light .pl-col.plus{background:linear-gradient(180deg,#1a0b10,#0d0a0d);color:#fee}
.pl-col.free{background:linear-gradient(180deg,#0f141d,#0a0d14)}
.light .pl-col.free{background:linear-gradient(180deg,#f7f9fc,#eef2f8)}

/* ───────── Derivados en vivo ───────── */
.chart-symhead{flex-wrap:wrap;row-gap:6px}
.dv-chips{display:flex;gap:6px;align-items:stretch;border:0;background:none;padding:0;margin:0;font:inherit;color:var(--text);cursor:pointer;flex-wrap:wrap}
.dv-c{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:4px 9px;border-radius:9px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.07);text-align:left;line-height:1.15;min-width:0}
.dv-c i{font-style:normal;font-size:9px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);font-weight:700}
.dv-c b{font-size:12px;font-variant-numeric:tabular-nums}
.dv-c em{font-style:normal;font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}
.dv-c.dim{color:var(--muted);font-size:11px}
.dv-chips .up,.dv-pop .up{color:var(--green)}.dv-chips .dn,.dv-pop .dn{color:var(--red)}
@media(hover:hover){.dv-chips:hover .dv-c{border-color:rgba(255,255,255,.16)}}
@media(max-width:760px){.dv-c{padding:3px 7px}.dv-c b{font-size:11px}.dv-c i{font-size:8.5px}}
.dv-pop{position:absolute;z-index:12;width:min(360px,calc(100% - 12px));background:rgba(10,13,20,.97);border:1px solid rgba(255,255,255,.09);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.55);padding:12px;font-size:12px}
.dv-hd{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}
.dv-hd b{display:block;font-size:14px}.dv-hd small{color:var(--muted);font-size:11px}
.dv-x{border:0;background:rgba(255,255,255,.06);color:var(--text);width:28px;height:28px;border-radius:8px}
.dv-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.dv-row{padding:8px 9px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:2px;min-width:0}
.dv-row>span{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.3px}
.dv-row b{font-size:14px;font-variant-numeric:tabular-nums}
.dv-row small{font-size:10.5px;color:var(--muted);line-height:1.35}
.dv-read{margin:10px 0 0;font-size:11.5px;line-height:1.5;padding:8px 10px;border-radius:10px;background:rgba(240,185,11,.07);border:1px solid rgba(240,185,11,.18)}
.dv-sub{margin:11px 0 6px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-weight:800}
.dv-tgs{display:flex;flex-wrap:wrap;gap:6px}
.dv-tg{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:var(--text);border-radius:999px;padding:6px 11px;font:inherit;font-size:11.5px;font-weight:700}
.dv-tg.on{background:rgba(84,143,255,.18);border-color:rgba(84,143,255,.5);color:#bcd3ff}
.dv-note{margin:10px 0 0;font-size:10px;color:var(--muted)}
.light .dv-pop{background:rgba(255,255,255,.98);border-color:rgba(0,0,0,.1)}
.light .dv-c,.light .dv-row{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.08)}

/* ───────── Libro de órdenes ───────── */
#bookBtn.on{background:var(--accent)!important;color:#fff!important;border-color:transparent!important}
.bk-panel{position:absolute;top:72px;right:72px;width:290px;max-height:calc(100% - 120px);overflow-y:auto;z-index:9;background:rgba(10,13,20,.96);border:1px solid rgba(255,255,255,.09);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.55);font-size:11.5px;color:var(--text);padding:10px 10px 8px;overscroll-behavior:contain}
.bk-panel[hidden]{display:none}
#chartArea:has(.tr-panel:not([hidden])) .bk-panel{right:384px}
.bk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.bk-head b{display:block;font-size:14px}.bk-head small{color:var(--muted);font-size:10.5px}
.bk-x{border:0;background:rgba(255,255,255,.06);color:var(--text);width:28px;height:28px;border-radius:8px;flex:0 0 auto}
.bk-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:8px 0}
.bk-tools label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}
.bk-tools select{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:7px;padding:3px 6px;font:inherit;font-size:11px}
.bk-ov input{accent-color:var(--accent)}
.bk-imbbar{height:6px;border-radius:4px;background:var(--red);overflow:hidden}.bk-imbbar i{display:block;height:100%;background:var(--green)}
.bk-imbt{display:flex;justify-content:space-between;margin-top:4px;font-size:10.5px;font-variant-numeric:tabular-nums}
.bk-imb small{display:block;color:var(--muted);font-size:9.5px;text-align:center;margin-top:1px}
.bk-panel .up{color:var(--green)}.bk-panel .dn{color:var(--red)}
.bk-depth{width:100%;height:70px;display:block;margin:6px 0 4px;border-radius:8px;background:rgba(255,255,255,.02)}
.bk-cols,.bk-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:4px;align-items:center}
.bk-cols{color:var(--muted);font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;font-weight:700;padding:4px 6px}
.bk-cols span:not(:first-child),.bk-row span:not(:first-child){text-align:right}
.bk-row{position:relative;width:100%;border:0;background:none;color:var(--text);font:inherit;font-size:11.5px;padding:2.5px 6px;border-radius:5px;font-variant-numeric:tabular-nums;cursor:pointer;overflow:hidden}
.bk-row i{position:absolute;right:0;top:1px;bottom:1px;border-radius:3px;pointer-events:none}
.bk-row.a i{background:rgba(240,107,121,.16)}.bk-row.b i{background:rgba(32,191,159,.16)}
.bk-row.a span:first-child{color:var(--red)}.bk-row.b span:first-child{color:var(--green)}
.bk-row span{position:relative}
.bk-row.wall{font-weight:800}.bk-row.wall.a i{background:rgba(240,107,121,.34)}.bk-row.wall.b i{background:rgba(32,191,159,.34)}
@media(hover:hover){.bk-row:hover{background:rgba(255,255,255,.06)}}
.bk-mid{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px;margin:3px 0;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.bk-mid b{font-size:15px;font-variant-numeric:tabular-nums}.bk-mid span{color:var(--muted);font-size:10.5px}
.bk-msg{color:var(--muted);font-size:11.5px;padding:10px 0;text-align:center;width:100%}
.bk-note{margin:8px 2px 0;font-size:10px;color:var(--muted);line-height:1.4}
@media(max-width:760px){.bk-panel{position:fixed;left:0;right:0!important;top:auto;bottom:calc(68px + env(safe-area-inset-bottom));width:auto;max-height:62dvh;border-radius:18px 18px 0 0;z-index:40}}
.light .bk-panel{background:rgba(255,255,255,.97);border-color:rgba(0,0,0,.1)}

/* ───────── Diario de trading ───────── */
.tr-jr{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text);border-radius:8px;padding:5px 9px;font:inherit;font-size:11px;font-weight:700;flex:0 0 auto}
.jr-ov{position:fixed;inset:0;z-index:60;background:rgba(2,4,9,.86);display:flex;justify-content:center;align-items:flex-start;overflow-y:auto;padding:max(14px,env(safe-area-inset-top)) 12px calc(20px + env(safe-area-inset-bottom))}
.jr-ov[hidden]{display:none}
.jr-box0{position:relative;width:min(1180px,100%);background:#0a0d14;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;color:var(--text);font-size:12.5px}
.jr-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.jr-top small{font-size:10px;letter-spacing:1.6px;font-weight:800;color:var(--accent)}
.jr-top h2{margin:3px 0 5px;font-size:24px;letter-spacing:-.6px}
.jr-top p{margin:0;max-width:640px;color:var(--muted);font-size:12.5px;line-height:1.5}
.jr-acts{display:flex;gap:8px;align-items:center}
.jr-acts button,.jr-dact button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text);border-radius:10px;padding:8px 12px;font:inherit;font-weight:700;font-size:12px}
.jr-acts [data-jr-add]{background:var(--accent);border-color:transparent;color:#fff}
.jr-x{width:34px;height:34px;padding:0!important}
.jr-filt{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.jr-seg{display:flex;gap:3px;background:rgba(255,255,255,.04);padding:3px;border-radius:10px}
.jr-seg button{border:0;background:none;color:var(--muted);padding:6px 10px;border-radius:8px;font:inherit;font-weight:700;font-size:11.5px}
.jr-seg button.on{background:rgba(255,255,255,.1);color:var(--text)}
.jr-filt select{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:9px;padding:5px 8px;font:inherit}
.jr-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:10px}
.jr-k{padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:3px}
.jr-k span{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.3px}
.jr-k b{font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:-.3px}
.jr-k small{font-size:10.5px;color:var(--muted)}
.jr-ov .up{color:var(--green)}.jr-ov .dn{color:var(--red)}
.jr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}
@media(max-width:900px){.jr-grid{grid-template-columns:1fr}}
.jr-box{padding:12px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);min-width:0}
.jr-wide{grid-column:1/-1}
.jr-box h4{margin:0 0 10px;font-size:12.5px}.jr-box h4 small{color:var(--muted);font-weight:600;margin-left:4px}
.jr-eq{width:100%;height:140px;display:block}
.jr-empty{color:var(--muted);font-size:12px;text-align:center;padding:16px 8px;line-height:1.5}
.jr-calh{display:flex;align-items:center;gap:8px;margin-bottom:8px}.jr-calh b{flex:1}
.jr-calh button{border:1px solid rgba(255,255,255,.12);background:none;color:var(--text);border-radius:7px;width:26px;height:26px}
.jr-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.jr-cal em{font-style:normal;text-align:center;font-size:9.5px;color:var(--muted);font-weight:700}
.jr-d{min-height:38px;border-radius:7px;background:rgba(255,255,255,.03);padding:3px 4px;display:flex;flex-direction:column;justify-content:space-between;font-size:10px}
.jr-d.off{background:none}.jr-d b{font-weight:600;color:var(--muted)}
.jr-d small{font-size:9px;font-weight:700;text-align:right;color:#fff}
.jr-d.up{background:rgba(32,191,159,var(--a))}.jr-d.dn{background:rgba(240,107,121,var(--a))}
.jr-bar{display:grid;grid-template-columns:minmax(60px,1fr) 1.4fr auto auto;gap:8px;align-items:center;font-size:11.5px;padding:3px 0}
.jr-bar>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jr-bar>div{height:8px;border-radius:4px;background:rgba(255,255,255,.04);overflow:hidden}.jr-bar i{display:block;height:100%;border-radius:4px}
.jr-bar i.up{background:var(--green)}.jr-bar i.dn{background:var(--red)}
.jr-bar b{font-variant-numeric:tabular-nums;text-align:right}.jr-bar small{color:var(--muted);font-size:10px;min-width:48px;text-align:right}
.jr-list{display:flex;flex-direction:column;gap:4px;max-height:460px;overflow-y:auto}
.jr-row{display:grid;grid-template-columns:auto auto 1fr auto auto auto;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);color:var(--text);border-radius:10px;padding:8px 10px;font:inherit;text-align:left}
@media(hover:hover){.jr-row:hover{background:rgba(255,255,255,.06)}}
.jr-row small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jr-row b{font-variant-numeric:tabular-nums}
.jr-side{font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:6px;background:rgba(255,255,255,.05)}
.jr-tags{display:flex;gap:4px;flex-wrap:wrap}.jr-tags em{font-style:normal;font-size:10px;padding:2px 6px;border-radius:6px;background:rgba(84,143,255,.15);color:#bcd3ff}.jr-tags em.n{background:rgba(240,185,11,.14);color:#f0d27a}
.jr-r{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
@media(max-width:640px){.jr-row{grid-template-columns:auto 1fr auto;row-gap:3px}.jr-row small,.jr-tags,.jr-r{grid-column:1/-1;order:5}}
.jr-det{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:61;background:#0c1018;border-left:1px solid rgba(255,255,255,.1);box-shadow:-20px 0 60px rgba(0,0,0,.5);overflow-y:auto;padding:16px 16px calc(20px + env(safe-area-inset-bottom))}
.jr-det[hidden]{display:none}
.jr-dh{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:12px}.jr-dh b{font-size:16px}.jr-dh small{color:var(--muted);display:block;margin-top:2px}
.jr-dh .jr-x{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:var(--text);border-radius:10px}
.jr-dk{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.jr-dk>div{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.035)}.jr-dk span{display:block;font-size:10px;color:var(--muted);font-weight:700}.jr-dk b{font-size:13px;font-variant-numeric:tabular-nums}
.jr-imgs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}
.jr-imgs figure{margin:0;border-radius:10px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.jr-imgs img{display:block;width:100%;cursor:zoom-in}.jr-imgs figcaption{font-size:10px;color:var(--muted);padding:4px 7px}
.jr-noimg{height:80px;display:grid;place-items:center;color:var(--muted);font-size:11px}
.jr-det h5{margin:12px 0 6px;font-size:11px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.jr-chips{display:flex;flex-wrap:wrap;gap:5px}
.jr-chip{border:1px solid rgba(255,255,255,.12);background:none;color:var(--text);border-radius:999px;padding:5px 10px;font:inherit;font-size:11.5px;font-weight:600}
.jr-chip.on{background:rgba(84,143,255,.2);border-color:rgba(84,143,255,.55);color:#cfe0ff}
.jr-chip.add{border-style:dashed;color:var(--muted)}
.jr-det textarea{width:100%;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text);font:inherit;padding:9px;resize:vertical}
.jr-dact{display:flex;gap:8px;margin-top:12px}.jr-dact .dn{color:var(--red)}
.jr-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.jr-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);font-weight:700}
.jr-form input,.jr-form select{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);border-radius:9px;color:var(--text);font:inherit;font-size:13px;padding:8px}
.jr-save{grid-column:1/-1;border:0;background:var(--accent);color:#fff;border-radius:11px;padding:11px;font:inherit;font-weight:800;margin-top:4px}
.light .jr-box0,.light .jr-det{background:#fff;border-color:rgba(0,0,0,.1)}

/* ───────── Celular: barra del gráfico como píldora flotante arriba del dock ───────── */
@media(max-width:1023px){
  #chartView{position:relative}
  #chartView .chart-toolbar{position:absolute;z-index:25;left:10px;bottom:30px;width:max-content;max-width:calc(100% - 96px);display:flex;flex-wrap:nowrap;align-items:center;gap:1px;padding:3px;margin:0;overflow-x:auto;scrollbar-width:none;border-radius:999px;background:rgba(10,13,20,.86)!important;border:1px solid rgba(255,255,255,.1)!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important;box-shadow:0 8px 24px rgba(0,0,0,.45)!important}
  #chartView .chart-toolbar::-webkit-scrollbar{display:none}
  #chartView .chart-toolbar>button{font-size:0;min-width:36px;height:34px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px!important;background:transparent!important;border-color:transparent!important;flex:0 0 auto}
  #chartView .chart-toolbar>button .ic{width:18px;height:18px}
  #chartView .chart-toolbar>button .rp-lbl,#chartView .chart-toolbar>button span:not(.prem-tag){display:none}
  #chartView .chart-toolbar #tfBtn{font-size:12.5px;font-weight:800;padding:0 10px;color:var(--accent)}
  #chartView .chart-toolbar [data-panel=indicators]::before{content:'ƒx';font-size:16px;font-style:italic;font-weight:600}
  #chartView .chart-toolbar #moreBtn{position:static;margin-left:0;font-size:16px;line-height:1;color:var(--text)}
  #chartView .chart-toolbar>button[aria-expanded=true],#chartView .chart-toolbar>button.on{background:rgba(84,143,255,.22)!important;color:#cfe0ff}
  #chartView .more-group .rp-lbl,#chartView .more-group .prem-lbl{display:inline!important}
  #chartView.more-open .more-group{left:10px;right:auto;width:min(300px,calc(100% - 20px))}
  #chartView.more-open .more-group button{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px}
  #chartView .timeframes{left:10px;right:auto;width:min(320px,calc(100% - 20px))}
  .light #chartView .chart-toolbar{background:rgba(255,255,255,.9)!important;border-color:rgba(0,0,0,.1)!important}
}
@media(max-width:1023px){
  #chartView.more-open .more-group button{background:var(--surface);border:1px solid var(--line);color:var(--text);border-radius:12px}
  #chartView .more-group .prem-btn{color:#f3d48a!important;border-color:rgba(246,210,122,.45)!important}
  #chartView .more-group .prem-btn .ic{color:#f6d27a}
  #chartView .more-group .prem-tag{font-size:9px;font-weight:800;padding:1px 5px;border-radius:5px;background:#f6d27a;color:#1a1205}
  #chartView .more-group button.on,#chartView .more-group button[aria-pressed=true]{border-color:var(--accent)!important;color:#cfe0ff}
}

/* ───────── Celular v2: la píldora va fija debajo del gráfico (no tapa el oscilador) · liquid glass oscuro ───────── */
.fav-pill{display:none}
@media(max-width:1023px){
  #chartView{flex-direction:column} /* solo dirección: mostrar u ocultar la vista lo decide .active (si no, el gráfico tapaba Noticias, Screener y Lens) */
  #chartView .chart-area{flex:1 1 auto;min-height:0}
  #chartView .chart-toolbar{position:relative;order:5;left:auto;bottom:auto;align-self:center;flex:0 0 auto;margin:5px auto 6px;max-width:calc(100% - 16px);
    background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.015)),rgba(12,16,24,.62)!important;border:1px solid rgba(255,255,255,.1)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.5)!important;backdrop-filter:blur(22px) saturate(1.5)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 10px 28px rgba(0,0,0,.4)!important}
  #chartView .chart-toolbar>button{color:rgba(237,243,252,.86)}
  #chartView .fav-pill{display:inline-flex;color:#f1d27a!important}
  #chartView .fav-pill.on{background:rgba(241,210,122,.18)!important}
  #chartView .fav-pill.active:not(.on){color:var(--accent)!important}
  #chartView .timeframes,#chartView.more-open .more-group,#chartView .favbar.fb-mobile{
    background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.02)),rgba(14,18,28,.34)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:20px!important;
    -webkit-backdrop-filter:blur(24px) saturate(1.5)!important;backdrop-filter:blur(24px) saturate(1.5)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 16px 40px rgba(0,0,0,.5)!important}
  #chartView .timeframes button,#chartView.more-open .more-group button{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.1)!important;text-shadow:0 1px 2px rgba(0,0,0,.6);border-radius:13px!important;color:rgba(237,243,252,.9)}
  #chartView .timeframes button.active{background:rgba(84,143,255,.2)!important;border-color:rgba(84,143,255,.5)!important;color:#cfe0ff}
  #chartView.more-open .more-group button.on,#chartView.more-open .more-group button[aria-pressed=true]{background:rgba(84,143,255,.2)!important;border-color:rgba(84,143,255,.5)!important}
  #chartView .more-group .prem-btn{border-color:rgba(246,210,122,.4)!important}
  #chartView .timeframes,#chartView.more-open .more-group{left:50%!important;right:auto!important;transform:translateX(-50%);width:min(330px,calc(100% - 16px))!important}
  .light #chartView .chart-toolbar,.light #chartView .timeframes,.light #chartView.more-open .more-group{background:rgba(255,255,255,.75)!important;border-color:rgba(0,0,0,.08)!important}
}
@media(max-width:1023px){
  #chartView .chart-toolbar{align-self:flex-start;margin-left:8px;max-width:calc(100% - 80px)}
  #chartView .px-peek{--pk-r:12px}
}

/* ───────── Celular v3: barra flotante que mueves donde quieras (agarradera · temporalidad · estrella · menú) ───────── */
.pill-grip{display:none}
@media(max-width:1023px){
  #chartView .chart-area{flex:1 1 auto}
  #chartView .chart-toolbar{position:absolute!important;order:0;margin:0!important;bottom:auto!important;right:auto!important;align-self:auto!important;max-width:calc(100% - 12px)!important;width:max-content;z-index:26;transition:box-shadow .2s,transform .15s;touch-action:none}
  #chartView .chart-toolbar.dragging{transform:scale(1.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 18px 40px rgba(0,0,0,.55),0 0 0 1px rgba(84,143,255,.35)!important}
  #chartView .pill-grip{display:inline-flex;align-items:center;justify-content:center;width:24px;height:34px;color:rgba(237,243,252,.45);cursor:grab;touch-action:none;flex:0 0 auto}
  #chartView .chart-toolbar.dragging .pill-grip{cursor:grabbing;color:var(--accent)}
  #chartView .chart-toolbar #moreBtn svg{transition:transform .25s}
  #chartView .chart-toolbar #moreBtn[aria-expanded=true]{background:rgba(84,143,255,.22)!important}
  #chartView .chart-toolbar #moreBtn[aria-expanded=true] svg{transform:rotate(180deg)}
  #chartView.more-open .more-group [data-panel=indicators]::before{content:none}
}
@media(max-width:1023px){#chartView .pill-grip{order:-3}}

/* ───────── Nova Bot Lab minimalista (biblioteca simple + vista visual por bot) ───────── */
.bl-acts4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bl-acts4 .bl-btn{justify-content:center;margin:0;width:100%}.bl-btn.ghost.on{border-color:var(--accent);color:var(--accent)}
@media(min-width:1500px){body.botlab-wide .bl-acts4{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bl-pickhint{margin:-2px 0 8px;font-size:12px}.bl-pickhint a{color:var(--accent)}
.bl-list{margin-top:6px}.bl-list-h{display:flex;justify-content:space-between;align-items:baseline;margin:6px 2px 8px}.bl-list-h span{font-weight:800;font-size:13px}.bl-list-h small{color:var(--muted);font-size:11px}
.bl-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.bl-row.arch{opacity:.55}.bl-pick input{width:16px;height:16px;accent-color:var(--accent)}
.bl-row-m{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:14px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s,transform .2s}
.bl-row-m:hover{border-color:var(--accent);transform:translateY(-1px)}.bl-row-n{flex:1;min-width:0;display:flex;flex-direction:column}.bl-row-n b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bl-row-n small{color:var(--muted);font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bl-row-m .bd-spark{width:60px;height:26px;flex:none}.bl-row-v{font-weight:800;font-size:13px;min-width:54px;text-align:right}.bl-row-go{color:var(--muted);font-size:18px}
.bl-dot{width:9px;height:9px;border-radius:50%;flex:none;background:#8796ab}.bl-dot.d-live{background:#20bf9f;box-shadow:0 0 0 0 rgba(32,191,159,.6);animation:blPulse 1.8s infinite}.bl-dot.d-ok{background:#548fff}.bl-dot.d-pause{background:#f0b90b}.bl-dot.d-arch{background:#4a5568}
@keyframes blPulse{0%{box-shadow:0 0 0 0 rgba(32,191,159,.55)}70%{box-shadow:0 0 0 7px rgba(32,191,159,0)}100%{box-shadow:0 0 0 0 rgba(32,191,159,0)}}
.bl-empty0{text-align:center;padding:26px 10px;color:var(--muted)}.bl-empty0 svg{width:30px;height:30px;color:var(--accent)}.bl-empty0 .bl-btn{margin:8px auto 0}
.bl-link{display:block;margin:4px auto 0;background:none;border:0;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline}
.bl-qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0 12px}@media(min-width:1500px){body.botlab-wide .bl-qa{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bl-qbtn{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border-radius:12px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);font-size:12.5px;font-weight:700;cursor:pointer}.bl-qbtn:first-child{background:var(--accent);border-color:var(--accent);color:#fff}.bl-qbtn.on{border-color:#20bf9f;color:#20bf9f}.bl-qbtn:disabled{opacity:.5}
.bl-subs{display:flex;gap:6px;flex-wrap:wrap;margin:-2px 0 10px}.bl-subs button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:99px;padding:5px 11px;font-size:11.5px;cursor:pointer}.bl-subs button.on{background:var(--raised);color:var(--text);border-color:var(--accent)}
.bl-more{position:relative;margin-left:auto}.bl-more summary{list-style:none;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);color:var(--muted);font-size:18px}.bl-more summary::-webkit-details-marker{display:none}
.bl-more>div{position:absolute;right:0;top:40px;z-index:5;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:12px;border:1px solid var(--line);background:var(--surface);box-shadow:0 12px 30px rgba(0,0,0,.45);min-width:140px}.bl-more .bl-mini{text-align:left}
.bo-hero{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:16px;border-radius:16px;border:1px solid var(--glass-line,var(--line));background:linear-gradient(135deg,rgba(84,143,255,.12),rgba(32,191,159,.06)),var(--glass,var(--surface));margin-bottom:10px}
.bo-hero.empty{flex-direction:column;align-items:center;text-align:center}.bo-hero.empty p{color:var(--muted);font-size:12.5px;max-width:380px;margin:4px 0 8px}
.bo-big{display:flex;flex-direction:column}.bo-big small{color:var(--muted);font-size:11.5px}.bo-big b{font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.5px}.bo-big em{font-style:normal;color:var(--muted);font-size:11px}
.bo-ks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}@media(min-width:1500px){body.botlab-wide .bo-ks{grid-template-columns:repeat(4,minmax(0,1fr))}}
.bo-k{display:flex;align-items:center;gap:8px;padding:10px;border-radius:14px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface))}.bo-k small{display:block;color:var(--muted);font-size:10.5px}.bo-k b{font-size:15px}.bo-k .bd-ring{width:32px;height:32px}
.bo-rk{display:grid;grid-template-columns:18px minmax(0,1fr) 70px 64px;align-items:center;gap:8px;width:100%;padding:7px 6px;border:0;border-radius:9px;background:none;color:var(--text);font-size:12px;cursor:pointer;text-align:left}.bo-rk:hover{background:var(--raised)}.bo-rk.me{background:rgba(84,143,255,.12);outline:1px solid rgba(84,143,255,.4)}
.bo-rk b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}.bo-rk>span:first-child{color:var(--muted)}.bo-rk>span:last-child{text-align:right;font-weight:700}.bo-rk i{height:6px;border-radius:6px;background:var(--line);overflow:hidden}.bo-rk em{display:block;height:100%;border-radius:6px}.bo-rk em.up{background:#20bf9f}.bo-rk em.dn{background:#f06b79}
.bl-det{margin:6px 0 10px}.bl-det>summary{cursor:pointer;color:var(--muted);font-size:12.5px;padding:10px 12px;border-radius:12px;border:1px dashed var(--line);list-style:none}.bl-det[open]>summary{margin-bottom:10px;color:var(--text)}
.bl-methods2{display:grid;gap:10px}.bl-methods2 .bl-method{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:3px;align-items:center;text-align:left;position:relative}
.bl-methods2 .bl-mic{grid-row:span 2;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(84,143,255,.14);color:var(--accent)}.bl-methods2 .bl-method small{grid-column:2}.bl-methods2 .bl-method em{margin-left:6px;vertical-align:2px;font-style:normal;font-size:10px;font-weight:800;color:#20bf9f;background:rgba(32,191,159,.14);border-radius:99px;padding:2px 8px}
.bl-sec{margin:16px 2px 8px;font-weight:800;font-size:12.5px}.bl-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.bl-presets button{text-align:left;padding:11px;border-radius:12px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);cursor:pointer}.bl-presets button:hover{border-color:var(--accent)}.bl-presets b{display:block;font-size:12.5px}.bl-presets small{color:var(--muted);font-size:11px}
.cl-card{margin:0 0 6px!important;padding:11px 12px!important;border-radius:14px!important}.cl-card .cl-face svg{width:30px;height:30px}

.bl-tabs.bl-tabs5{display:flex;justify-content:space-between;gap:4px;overflow:visible}.bl-tabs.bl-tabs5 button{flex:none;padding-left:2px;padding-right:2px;font-size:11.5px;white-space:nowrap}

/* ───────── Nova Bot Lab: apariencia, consejos y gráfico de operaciones ───────── */
.bl-av{display:inline-grid;place-items:center;flex:none;border-radius:30%;color:#fff;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--av) 70%,#fff 30%),var(--av) 45%,color-mix(in srgb,var(--av) 55%,#05070c 45%));box-shadow:0 0 0 1px color-mix(in srgb,var(--av) 50%,transparent),0 4px 14px color-mix(in srgb,var(--av) 35%,transparent)}
.bl-head .bl-av{margin-right:2px}.bl-avw{position:relative;flex:none;display:inline-flex}.bl-avw .bl-dot{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border:2px solid var(--bg,#05070c)}
.bl-tipb{font-style:normal;color:#f0b90b;font-weight:700}.bl-tabs5 button{position:relative}.bl-tabdot{position:absolute;top:4px;right:-3px;width:6px;height:6px;border-radius:50%;background:#f0b90b}
.bl-look{display:flex;gap:14px;align-items:flex-start;padding:12px;border-radius:14px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));margin-bottom:6px}.bl-look-c{flex:1;min-width:0}.bl-look-c small{display:block;color:var(--muted);font-size:11px;margin:2px 0 6px}
.bl-sw{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.bl-sw button{width:22px;height:22px;border-radius:50%;border:2px solid transparent;background:var(--c);cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.08)}.bl-sw button.on{border-color:#fff;transform:scale(1.12)}
.bl-ics{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:7px}.bl-ics button{height:44px;border-radius:30%;border:2px solid transparent;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--c) 70%,#fff 30%),var(--c) 45%,color-mix(in srgb,var(--c) 55%,#05070c 45%));display:grid;place-items:center;cursor:pointer;opacity:.55;transition:opacity .15s,transform .15s}.bl-ics button:hover{opacity:.9;transform:translateY(-1px)}.bl-ics button.on{opacity:1;border-color:#fff;transform:scale(1.06)}.bl-ics img,.bl-av img{display:block;pointer-events:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.bl-lookbox>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none}.bl-lookbox>summary::-webkit-details-marker{display:none}.bl-lookbox[open]>summary{margin-bottom:10px}.bl-lookbox .bl-look{border:0;background:none;padding:0}
.bl-coach{border-color:rgba(124,92,255,.4)!important;background:linear-gradient(135deg,rgba(124,92,255,.10),rgba(32,191,159,.04)),var(--glass,var(--surface))!important}.bl-coach-h{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}.bl-coach-h h4{margin:0 0 2px}
.bl-coach-ic{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#7c5cff,#20bf9f);color:#fff}
.bl-sum{border-left:3px solid var(--muted);padding:6px 10px;margin:8px 0;border-radius:4px;background:rgba(255,255,255,.02)}.bl-sum.l-bien{border-color:#20bf9f}.bl-sum.l-regular{border-color:#f0b90b}.bl-sum.l-mal{border-color:#f06b79}.bl-sum b{font-size:13px}.bl-sum p{margin:4px 0;font-size:12.5px;line-height:1.45}
.bl-aisum{padding:8px 10px;border-radius:10px;background:rgba(124,92,255,.08);margin:8px 0}.bl-aisum>small{color:#b9a8ff;font-weight:700;font-size:11px}
.bl-tips{display:grid;gap:8px;margin:8px 0}.bl-tip{padding:11px 12px;border-radius:12px;border:1px solid var(--glass-line,var(--line));background:var(--surface)}.bl-tip-h{display:flex;align-items:center;gap:8px}.bl-tip-h b{font-size:13px}.bl-tip p{margin:5px 0 8px;font-size:12px;color:var(--muted);line-height:1.45}.bl-tip .bl-btn{margin:0;padding:7px 12px;font-size:12px}
.bl-tip-k{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;border-radius:6px;padding:2px 6px;background:var(--raised);color:var(--muted);flex:none}.bl-tip.k-reglas .bl-tip-k{color:#548fff}.bl-tip.k-riesgo .bl-tip-k{color:#f06b79}.bl-tip.k-filtro .bl-tip-k{color:#22d3ee}.bl-tip.k-temporalidad .bl-tip-k{color:#f0b90b}.bl-tip.k-activo .bl-tip-k{color:#20bf9f}.bl-tip.k-ia .bl-tip-k{color:#b9a8ff}
.bl-applied{padding:10px 12px;border-radius:12px;margin:8px 0;border:1px solid}.bl-applied.ok{border-color:rgba(32,191,159,.5);background:rgba(32,191,159,.08)}.bl-applied.warn{border-color:rgba(240,185,11,.5);background:rgba(240,185,11,.07)}.bl-applied small{display:block;color:var(--muted);margin:3px 0 6px;font-size:11.5px}
.tc-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}.tc-bar button{border:1px solid var(--line);background:var(--raised);color:var(--text);border-radius:8px;padding:5px 9px;font-size:11.5px;cursor:pointer}.tc-lab{flex:1;text-align:center;color:var(--muted);font-size:11px;min-width:120px}
.tc-wrap{position:relative}.tc-cv{display:block;width:100%;height:320px;cursor:grab;touch-action:none;border-radius:10px;background:rgba(0,0,0,.18)}.tc-cv:active{cursor:grabbing}
.tc-tip{position:absolute;z-index:3;pointer-events:none;max-width:250px;padding:8px 10px;border-radius:10px;background:rgba(11,15,24,.94);border:1px solid var(--line);box-shadow:0 8px 24px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:2px;font-size:11.5px}.tc-tip small{color:var(--muted)}.tc-tip .tc-dim{opacity:.75}
.tc-leg{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:11px;color:var(--muted)}.tc-leg i{display:inline-block;margin-right:5px;vertical-align:-1px}.tc-leg i.l{width:0;height:0;border:5px solid transparent;border-bottom:8px solid #20bf9f;border-top:0}.tc-leg i.s{width:0;height:0;border:5px solid transparent;border-top:8px solid #f06b79;border-bottom:0}.tc-leg i.w,.tc-leg i.x,.tc-leg i.v{width:9px;height:9px;border-radius:50%;background:#20bf9f}.tc-leg i.x{background:#f06b79}.tc-leg i.v{background:#f0b90b}

.bl-tg{flex:none;width:40px;height:23px;border-radius:99px;border:1px solid var(--line);background:var(--raised);position:relative;cursor:pointer;padding:0;transition:background .2s,border-color .2s}.bl-tg i{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:#8796ab;transition:left .2s,background .2s}.bl-tg.on{background:rgba(32,191,159,.25);border-color:#20bf9f}.bl-tg.on i{left:19px;background:#20bf9f;box-shadow:0 0 8px rgba(32,191,159,.7)}
.cl-card .bl-tg{margin-left:4px}.tc-hint{color:var(--muted);font-size:10.5px}.tc-lab{text-align:left!important;flex:1;font-weight:700;color:var(--text)!important;font-size:12px!important}
.bl-list{container-type:inline-size}@container (max-width:420px){.bl-row-m .bd-spark{display:none}.bl-row-m{gap:8px;padding:10px}}

/* Personajes sin fondo: solo el icono, con un brillo suave del color elegido */
.bl-av{background:none!important;box-shadow:none!important;border-radius:0!important;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--av) 55%,transparent))}
.bl-av img{filter:none}
.bl-ics button{background:none!important;border:2px solid transparent;opacity:.6}.bl-ics button.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,transparent)!important;opacity:1}

.bl-seg2{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--raised);margin-bottom:10px}.bl-seg2 button{display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:9px;padding:8px;background:none;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.bl-seg2 button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 6px rgba(0,0,0,.3)}
.bo-live{padding:12px;border-radius:16px;border:1px solid rgba(32,191,159,.45);background:linear-gradient(135deg,rgba(32,191,159,.10),transparent),var(--glass,var(--surface));margin-bottom:10px}.bo-live-h{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.bo-live-h small{color:var(--muted);font-size:11px}.bo-live .bo-ks{margin-bottom:4px}
.bo-ver{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 4px;border-bottom:1px solid var(--line)}.bo-ver:last-child{border-bottom:0}.bo-vn{font-weight:800;font-size:11px;border-radius:7px;padding:3px 7px;background:var(--raised);color:var(--muted)}.bo-ver.on .bo-vn{background:var(--accent);color:#fff}
.bo-ver b{display:block;font-size:12.5px;font-weight:600}.bo-ver small{color:var(--muted);font-size:10.5px}.bo-ver em{font-style:normal;color:var(--accent)}.bo-ver>span:last-child{text-align:right;font-weight:800;font-size:12.5px}.bo-ver>span small{display:block;font-weight:400}

/* Torneo, versión aplicada, acciones extra */
.tn-ban{display:flex;align-items:center;gap:10px;width:100%;margin:2px 0 10px;padding:11px 12px;border-radius:14px;border:1px solid rgba(240,185,11,.45);background:linear-gradient(120deg,rgba(240,185,11,.12),rgba(124,92,255,.08)),var(--glass,var(--surface));color:var(--text);text-align:left;cursor:pointer}.tn-ban>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.tn-ban small{color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-ic{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#f0b90b,#fb923c);color:#1a1200}
.tn-pod{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;align-items:end}.tn-p{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px;border-radius:14px;border:1px solid var(--glass-line,var(--line));background:var(--glass,var(--surface));color:var(--text);cursor:pointer;text-align:center;min-width:0}.tn-p b{font-size:12px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tn-p>span:last-of-type{font-weight:800;font-size:15px}.tn-p small{color:var(--muted);font-size:10px}.tn-p.p0{order:2;padding-top:20px;border-color:rgba(240,185,11,.6);box-shadow:0 0 22px rgba(240,185,11,.18)}.tn-p.p1{order:1}.tn-p.p2{order:3}
.tn-m{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:800;background:var(--raised);color:var(--muted);flex:none}.tn-m.m0{background:linear-gradient(135deg,#fde68a,#f0b90b);color:#3b2a00}.tn-m.m1{background:linear-gradient(135deg,#f1f5f9,#94a3b8);color:#1e293b}.tn-m.m2{background:linear-gradient(135deg,#fdba74,#c2410c);color:#2a1200}
.tn-r{display:flex;align-items:center;gap:10px;width:100%;padding:9px 6px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--text);text-align:left;cursor:pointer}.tn-r:last-child{border-bottom:0}.tn-r:hover{background:var(--raised)}.tn-n{flex:1;min-width:0;display:flex;flex-direction:column}.tn-n small{color:var(--muted);font-size:10.5px}.tn-v{font-weight:800;font-size:13px}
.bl-qa2{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:-4px 0 12px}.bl-qbtn.sm{padding:7px;font-size:11.5px;font-weight:600;background:transparent!important;color:var(--muted)!important;border-color:var(--line)!important}.bl-qbtn.sm.on{color:#20bf9f!important;border-color:rgba(32,191,159,.5)!important}.bl-qa2 .bl-qbtn:first-child{background:transparent;color:var(--text)!important}
.bl-newv{display:flex;align-items:center;gap:10px;padding:10px 12px;margin:-2px 0 12px;border-radius:14px;border:1px solid rgba(32,191,159,.5);background:rgba(32,191,159,.08);animation:bdIn .4s ease both}.bl-newv b{font-size:12.5px;display:block}.bl-newv small{color:var(--muted);font-size:11px}
.bl-ck{flex:none;display:inline-grid}.bl-ck .ck-c{stroke-dasharray:95;stroke-dashoffset:95;animation:ckDraw .6s ease forwards}.bl-ck .ck-p{stroke-dasharray:30;stroke-dashoffset:30;animation:ckDraw .4s .5s ease forwards}.bl-ck.big svg{width:40px;height:40px}.bl-applied{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.bl-applied>*:not(.bl-ck){grid-column:2}.bl-applied .bl-ck{grid-row:span 3}
@keyframes ckDraw{to{stroke-dashoffset:0}}.bo-ck{font-style:normal;color:#20bf9f;margin-right:3px}.bo-ver.on .bo-ck{color:#fff}
.tc-syms{margin-bottom:8px}

/* Discord en morado · chat del asistente sin recortes (lo más reciente arriba, debajo de la caja de texto) */
.bl-qbtn.sm.dc{color:#a5adff!important;border-color:rgba(88,101,242,.45)!important}.bl-qbtn.sm.dc.on{color:#fff!important;background:#5865f2!important;border-color:#5865f2!important;box-shadow:0 4px 14px rgba(88,101,242,.35)}
.bl-form-top{margin:0 0 10px}.bl-chat.bl-chat-flow{max-height:none;overflow:visible}

/* ───────── Celular v4: píldora y menús más transparentes (liquid glass oscuro y plano) · botones desplegados tipo píldora ───────── */
@media(max-width:1023px){
  #chartView .chart-toolbar{background:rgba(9,12,20,.26)!important;border:1px solid rgba(255,255,255,.14)!important;-webkit-backdrop-filter:blur(26px) saturate(1.8)!important;backdrop-filter:blur(26px) saturate(1.8)!important;box-shadow:0 8px 22px rgba(0,0,0,.26)!important}
  #chartView .timeframes,#chartView.more-open .more-group,#chartView .favbar.fb-mobile{background:rgba(9,12,20,.3)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:24px!important;-webkit-backdrop-filter:blur(30px) saturate(1.8)!important;backdrop-filter:blur(30px) saturate(1.8)!important;box-shadow:0 14px 34px rgba(0,0,0,.34)!important}
  #chartView.more-open .more-group{display:flex!important;flex-wrap:wrap;justify-content:flex-start;gap:7px;padding:12px!important;width:min(344px,calc(100% - 16px))!important}
  #chartView.more-open .more-group button{width:auto!important;flex:0 1 auto;height:36px;padding:0 14px!important;border-radius:999px!important;font-size:12.5px;font-weight:600;gap:7px;white-space:nowrap;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.13)!important;text-shadow:none;animation:pillIn .34s cubic-bezier(.3,1.4,.5,1) both;transition:transform .15s,background .2s}
  #chartView.more-open .more-group button:active{transform:scale(.93)}
  #chartView.more-open .more-group button:nth-child(2){animation-delay:.025s}#chartView.more-open .more-group button:nth-child(3){animation-delay:.05s}#chartView.more-open .more-group button:nth-child(4){animation-delay:.075s}
  #chartView.more-open .more-group button:nth-child(5){animation-delay:.1s}#chartView.more-open .more-group button:nth-child(6){animation-delay:.125s}#chartView.more-open .more-group button:nth-child(7){animation-delay:.15s}
  #chartView.more-open .more-group button:nth-child(8){animation-delay:.175s}#chartView.more-open .more-group button:nth-child(9){animation-delay:.2s}#chartView.more-open .more-group button:nth-child(n+10){animation-delay:.225s}
  #chartView.tf-open .timeframes{display:flex!important;flex-wrap:wrap;gap:7px;padding:12px!important}
  #chartView .timeframes button{flex:1 0 52px;height:36px;padding:0!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.13)!important;text-shadow:none;font-weight:700}
  #chartView.tf-open .timeframes button{animation:pillIn .3s cubic-bezier(.3,1.4,.5,1) both}
  /* la estrella de favoritos va en el color normal de la barra (sin amarillo) */
  #chartView .fav-pill{color:rgba(237,243,252,.86)!important}
  #chartView .fav-pill.on{background:rgba(84,143,255,.22)!important;color:#cfe0ff!important}
  #chartView .chart-toolbar #tfBtn.swiping{background:rgba(84,143,255,.22)!important;color:#cfe0ff}
  /* rueda que aparece al deslizar el dedo sobre la temporalidad */
  .tf-wheel{position:absolute;z-index:40;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:3px;min-width:52px;padding:9px 12px;border-radius:20px;pointer-events:none;background:rgba(9,12,20,.34);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(26px) saturate(1.8);backdrop-filter:blur(26px) saturate(1.8);box-shadow:0 12px 30px rgba(0,0,0,.34);font-size:12px;font-weight:700;color:rgba(237,243,252,.42);line-height:1.25}
  .tf-wheel .cur{font-size:17px;color:#cfe0ff}
  .light #chartView .chart-toolbar,.light #chartView .timeframes,.light #chartView.more-open .more-group{background:rgba(255,255,255,.6)!important;border-color:rgba(0,0,0,.08)!important}
  .light #chartView.more-open .more-group button,.light #chartView .timeframes button{background:rgba(0,0,0,.05)!important;border-color:rgba(0,0,0,.08)!important;color:#182234}
  .light #chartView .fav-pill{color:#3a4a63!important}
}
@keyframes pillIn{from{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#chartView.more-open .more-group button,#chartView.tf-open .timeframes button{animation:none!important}}

/* ───────── Liquidaciones: botón «pro» con fondo de galaxia (estrellas que pasan), sin la etiqueta PRO · celular y escritorio ───────── */
.prem-btn .prem-tag{display:none!important}
#chartView #liqBtn.gx-lock{position:relative;overflow:hidden;isolation:isolate;gap:6px;color:rgba(238,240,255,.92)!important;font-weight:650;letter-spacing:.15px;text-shadow:none;
  border:1px solid transparent!important;
  background:radial-gradient(90% 140% at 18% 0%,rgba(124,77,255,.16),transparent 62%) padding-box,radial-gradient(80% 140% at 100% 100%,rgba(56,96,200,.12),transparent 64%) padding-box,linear-gradient(135deg,#0a0b16,#0d0e1f 55%,#0a0d1a) padding-box,linear-gradient(120deg,rgba(167,139,250,.38),rgba(255,255,255,.1) 45%,rgba(129,140,248,.32)) border-box!important;
  box-shadow:none!important;filter:none!important;transition:box-shadow .25s,color .2s}
#chartView #liqBtn.gx-lock .ic{color:#b9acf5!important;filter:none}
#chartView #liqBtn.gx-lock::before,#chartView #liqBtn.gx-lock::after{content:''!important;position:absolute;inset:0;z-index:-1;pointer-events:none;transform:none;background-repeat:repeat}
/* estrellas que pasan despacio (blancas, casi sin color) */
#chartView #liqBtn.gx-lock::before{background-image:radial-gradient(1px 1px at 6px 5px,rgba(255,255,255,.8),transparent 70%),radial-gradient(1px 1px at 18px 22px,rgba(255,255,255,.5),transparent 70%),radial-gradient(1px 1px at 27px 11px,rgba(214,204,255,.7),transparent 70%),radial-gradient(1px 1px at 39px 30px,rgba(255,255,255,.5),transparent 70%),radial-gradient(1.2px 1.2px at 52px 4px,rgba(255,255,255,.8),transparent 70%),radial-gradient(1px 1px at 58px 19px,rgba(196,212,255,.6),transparent 70%),radial-gradient(1px 1px at 71px 33px,rgba(255,255,255,.5),transparent 70%),radial-gradient(1px 1px at 84px 13px,rgba(255,255,255,.8),transparent 70%),radial-gradient(1px 1px at 93px 26px,rgba(214,204,255,.7),transparent 70%),radial-gradient(1px 1px at 104px 7px,rgba(255,255,255,.5),transparent 70%),radial-gradient(1.1px 1.1px at 113px 31px,rgba(255,255,255,.8),transparent 70%),radial-gradient(0.8px 0.8px at 33px 2px,rgba(255,255,255,.5),transparent 70%),radial-gradient(0.8px 0.8px at 76px 2px,rgba(196,212,255,.6),transparent 70%),radial-gradient(0.8px 0.8px at 98px 17px,rgba(255,255,255,.5),transparent 70%),radial-gradient(0.8px 0.8px at 12px 34px,rgba(214,204,255,.7),transparent 70%),radial-gradient(0.8px 0.8px at 47px 16px,rgba(255,255,255,.5),transparent 70%),radial-gradient(0.8px 0.8px at 66px 8px,rgba(255,255,255,.5),transparent 70%),radial-gradient(0.8px 0.8px at 118px 20px,rgba(196,212,255,.6),transparent 70%);background-size:124px 38px;opacity:.85;animation:liqStars 26s linear infinite!important}
/* galaxia muy tenue: una nebulosa que se desliza y unas pocas estrellas que titilan */
#chartView #liqBtn.gx-lock::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='38' viewBox='0 0 160 38'%3E%3Cg fill='none' stroke='%23c4b5fd' stroke-opacity='.32' stroke-width='.6' stroke-linecap='round'%3E%3Cpath d='M14 27 L30 17 L46 21 L58 9 L74 13'/%3E%3Cpath d='M46 21 L52 31'/%3E%3Cpath d='M104 30 L116 18 L132 22 L146 8'/%3E%3Cpath d='M116 18 L122 6'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Ccircle cx='14' cy='27' r='1.1'/%3E%3Ccircle cx='30' cy='17' r='1.4'/%3E%3Ccircle cx='46' cy='21' r='1.1'/%3E%3Ccircle cx='58' cy='9' r='1.6'/%3E%3Ccircle cx='74' cy='13' r='1'/%3E%3Ccircle cx='52' cy='31' r='.9'/%3E%3Ccircle cx='104' cy='30' r='1'/%3E%3Ccircle cx='116' cy='18' r='1.5'/%3E%3Ccircle cx='132' cy='22' r='1.1'/%3E%3Ccircle cx='146' cy='8' r='1.3'/%3E%3Ccircle cx='122' cy='6' r='.9'/%3E%3C/g%3E%3Cg fill='%23e9d5ff'%3E%3Ccircle cx='58' cy='9' r='3' opacity='.18'/%3E%3Ccircle cx='116' cy='18' r='3' opacity='.16'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(1.5px 1.5px at 20px 14px,rgba(255,255,255,.85),transparent 70%),radial-gradient(1.4px 1.4px at 66px 27px,rgba(230,220,255,.75),transparent 70%),radial-gradient(1.3px 1.3px at 92px 9px,rgba(255,255,255,.7),transparent 70%),radial-gradient(70px 24px at 50% 55%,rgba(139,92,246,.13),transparent 70%);background-size:160px 38px,110px 38px,110px 38px,110px 38px,150px 38px;background-position:0 50%,0 0,0 0,0 0,0 0;animation:liqConst 40s linear infinite,liqTwinkle 3.6s ease-in-out infinite!important}
@keyframes liqConst{to{background-position:-160px 50%,-110px 0,-110px 0,-110px 0,-150px 0}}
#chartView #liqBtn.gx-lock:hover{color:#fff!important;box-shadow:0 0 12px rgba(139,92,246,.22)!important}
#chartView #liqBtn.gx-lock.on{color:#fff!important;box-shadow:0 0 0 1px rgba(196,181,253,.28),0 0 12px rgba(139,92,246,.25)!important;
  background:radial-gradient(90% 140% at 18% 0%,rgba(124,77,255,.28),transparent 62%) padding-box,radial-gradient(80% 140% at 100% 100%,rgba(56,96,200,.22),transparent 64%) padding-box,linear-gradient(135deg,#0e0d22,#141233 55%,#0e1328) padding-box,linear-gradient(120deg,rgba(196,181,253,.6),rgba(255,255,255,.18) 45%,rgba(165,180,252,.5)) border-box!important}
#chartView #liqBtn.gx-lock.on .ic{color:#e4dcff!important}
@keyframes liqStars{to{background-position:-120px 0}}
@keyframes liqStars2{to{background-position:-110px 0}}
@keyframes liqTwinkle{0%,100%{opacity:.6}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){#chartView #liqBtn.gx-lock::before,#chartView #liqBtn.gx-lock::after{animation:none!important}}

/* ───────── Mi seguimiento: el color de cada moneda es un punto a la izquierda, todos en la misma columna (sin franja ni fondo de color) ───────── */
#watchRows .watch-row:not(.sec-head):not(.sec-row)::before{content:'';flex:none;width:10px;height:10px;margin:0 -5px 0 2px;border-radius:50%;background:transparent}
#watchRows .watch-row.tagged:not(.sec-head):not(.sec-row)::before{background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--tag) 55%,#fff),var(--tag) 62%);box-shadow:0 0 0 2px color-mix(in srgb,var(--tag) 22%,transparent),0 0 8px color-mix(in srgb,var(--tag) 55%,transparent);animation:tagGlow 3.6s ease-in-out infinite}
/* latido sutil: el halo respira despacio (cada fila con un desfase para que no parpadeen todas a la vez) */
#watchRows .watch-row.tagged:nth-child(3n+1)::before{animation-delay:-1.2s}#watchRows .watch-row.tagged:nth-child(3n+2)::before{animation-delay:-2.4s}
@keyframes tagGlow{0%,100%{box-shadow:0 0 0 2px color-mix(in srgb,var(--tag) 18%,transparent),0 0 5px color-mix(in srgb,var(--tag) 40%,transparent);scale:1}50%{box-shadow:0 0 0 3.5px color-mix(in srgb,var(--tag) 14%,transparent),0 0 11px color-mix(in srgb,var(--tag) 70%,transparent);scale:1.08}}
@media (prefers-reduced-motion:reduce){#watchRows .watch-row.tagged::before{animation:none!important}}
.tag-grid button,.rm-color .tag-grid button{width:16px;height:16px;justify-self:center;border:0;opacity:.9;box-shadow:0 0 0 3px rgba(255,255,255,.06);transition:transform .15s,box-shadow .2s}
.tag-grid button.on{opacity:1;box-shadow:0 0 0 2px var(--raised),0 0 0 3.5px var(--c),0 0 10px color-mix(in srgb,var(--c) 60%,transparent)}
.tag-grid button:hover{transform:scale(1.2)}

/* Nexus Pixel: aviso de tus reglas (más ancho que una sugerencia, se lee completo) */
.px-tip.px-watch{max-width:min(280px,calc(100vw - 24px));white-space:normal;line-height:1.4;font-weight:500;border-radius:16px 16px 4px 16px;background:rgba(16,12,34,.72);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6)}

/* Liquidaciones sin el plan que lo incluye: botón oscuro y apagado (el fondo de galaxia solo lo ve quien tiene el plan) */
#chartView #liqBtn.prem-btn,#chartView #liqBtn.prem-btn.on{color:rgba(237,243,252,.5)!important;background:#090b12!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:none!important;text-shadow:none!important;filter:none!important}
#chartView #liqBtn.prem-btn .ic{color:rgba(237,243,252,.45)!important}
#chartView #liqBtn.prem-btn::before,#chartView #liqBtn.prem-btn::after{content:none!important;animation:none!important}
#chartView #liqBtn.prem-btn.on{border-color:rgba(255,255,255,.22)!important;color:rgba(237,243,252,.8)!important}

/* ───────── Liquid glass oscuro en TODOS los menús y ventanas de la app ─────────
   Menús y barras flotantes: translúcidos con desenfoque. Ventanas de ajustes y diálogos: lo mismo, un poco más densos para que el texto se lea bien. */
body:not(.light) :is(#legMenu,.rail-fly,.src-menu,.acct-pop,.acct-menu,.tag-pop,.pop-menu,.pbar,.pbar-pop,.pbar-hidden,.prefs-pop,.tab-prev,.ss-pop,.row-menu,.al-confirm,.ec-pop,.dv-pop,.favbar,.bl-more>div,#toast,.draw-hint,.tc-tip,.bd-tip,.bf-tip,.sel-bar,.tr-panel,.bk-panel,.rp-bar){
  background:rgba(9,12,20,.42)!important;border:1px solid rgba(255,255,255,.13)!important;-webkit-backdrop-filter:blur(28px) saturate(1.8)!important;backdrop-filter:blur(28px) saturate(1.8)!important;box-shadow:0 14px 34px rgba(0,0,0,.36)!important}
body:not(.light) :is(.cfg-dlg,.pc-dlg,.rk-dlg,.dz-box,.xc-box,.pl-box,.jr-box0,.jr-det,.sym-modal,.sheet){
  background:rgba(9,12,20,.6)!important;border-color:rgba(255,255,255,.13)!important;-webkit-backdrop-filter:blur(32px) saturate(1.8)!important;backdrop-filter:blur(32px) saturate(1.8)!important;box-shadow:0 20px 50px rgba(0,0,0,.42)!important}
/* el velo de fondo de las ventanas deja ver la app detrás (antes casi la tapaba) */
body:not(.light) :is(.cfg-overlay,.pc-back,.rk-back,.dz-back,.sym-backdrop,.sheet-backdrop,.pl-ov,.jr-ov,.xc-ov){background:rgba(3,5,10,.42)!important}
/* dentro de los menús, los botones y campos también son de cristal (sin bloques opacos) */
body:not(.light) :is(.cfg-dlg,.pc-dlg,.rk-dlg,.dz-box,.row-menu,.pop-menu,.tag-pop,.acct-pop,.acct-menu,.prefs-pop,.rail-fly,#legMenu,.sym-modal,.sheet) :is(.cfg-btn,.small-button,.tag-none,.search,input:not([type=range]):not([type=color]):not([type=checkbox]):not([type=radio]),select,textarea){background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.12)!important}
/* el menú de clic derecho se ensancha para que sus textos no queden cortados */
.pop-menu{width:max-content;max-width:min(320px,calc(100vw - 16px))}
.pop-menu.chart-ctx button span{width:auto;text-align:left;opacity:1}

/* ───────── Nexus Pixel: cierre fluido del globo y X en su mensajito ───────── */
.px-bub.px-closing{animation:pxOut .18s ease-in forwards;pointer-events:none}
.px-av{transition:opacity .22s ease}.px-av.px-fading{opacity:0}
.px-tip.px-closing{animation:pxOut .18s ease-in forwards;pointer-events:none}
@keyframes pxOut{from{opacity:1;scale:1}to{opacity:0;scale:.92}}
.px-tip{padding-right:30px}
.px-tip-x{position:absolute;top:5px;right:5px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08);color:rgba(239,230,255,.75);font-size:14px;line-height:1;cursor:pointer;transition:background .15s,color .15s}
.px-tip-x:hover{background:rgba(240,107,121,.25);color:#f06b79}
.px-x{display:grid;place-items:center;flex:none}
.px-in .px-mic.on::after{content:attr(data-t);position:absolute;bottom:calc(100% + 4px);left:50%;translate:-50% 0;font-size:10px;font-weight:700;color:#f06b79;white-space:nowrap}

/* ───────── Planes: lo premium BLOQUEADO lleva un fondo de galaxia discreto (pocas estrellas que pasan despacio); desbloqueado se ve normal ───────── */
.gx-lock:not(#liqBtn){
  background-color:#0a0a16!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='90'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='18' cy='14' r='.6' opacity='.55'/%3E%3Ccircle cx='96' cy='62' r='.5' opacity='.4'/%3E%3Ccircle cx='150' cy='22' r='.7' fill='%23d6ccff' opacity='.5'/%3E%3Ccircle cx='200' cy='74' r='.5' opacity='.35'/%3E%3Ccircle cx='60' cy='80' r='.45' opacity='.3'/%3E%3C/g%3E%3C/svg%3E"),radial-gradient(70% 120% at 12% 0%,rgba(124,77,255,.13),transparent 65%),radial-gradient(60% 120% at 100% 100%,rgba(56,96,200,.09),transparent 68%)!important;
  background-size:220px 90px,100% 100%,100% 100%!important;background-repeat:repeat,no-repeat,no-repeat!important;
  border-color:rgba(167,139,250,.22)!important;box-shadow:none!important;
  animation:gxDrift 60s linear infinite}
.gx-lock:not(#liqBtn) :is(b,strong,.tn,span:not(.prem-tag)){color:#ece8fb}
.gx-lock:not(#liqBtn) small{color:rgba(225,215,255,.6)}
@keyframes gxDrift{to{background-position:-220px 0,0 0,0 0}}
@media (prefers-reduced-motion:reduce){.gx-lock{animation:none!important}}
/* barra derecha, barra del celular y barra de dibujo: sin galaxia, el icono normal con una estrellita en la esquina que indica «premium» */
:is(.rr-btn,.bottom-nav button,.rail-btn).gx-lock:not(#liqBtn){animation:none!important;border-color:transparent!important;box-shadow:none!important;background-color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0c.3 2.3.9 2.9 3.2 3.2C5.9 3.5 5.3 4.1 5 6.4 4.7 4.1 4.1 3.5 1.8 3.2 4.1 2.9 4.7 2.3 5 0z' fill='%23c4b5fd'/%3E%3C/svg%3E")!important;
  background-size:9px 9px!important;background-repeat:no-repeat!important;background-position:right 4px top 3px!important}
.bottom-nav button.gx-lock:not(#liqBtn){background-position:right calc(50% - 16px) top 6px!important}
.pl-col.want{box-shadow:0 0 0 2px #b79cff inset,0 0 24px rgba(139,92,246,.25)}

/* ───────── Bienvenida: iniciar sesión con Google al abrir (si la cierras, sigues con Gratis) ───────── */
.vw-ov{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;background:rgba(3,5,10,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .22s}
.vw-ov.open{opacity:1}
.vw-box{position:relative;overflow:hidden;width:min(400px,100%);padding:30px 24px 20px;border-radius:24px;text-align:center;color:#eef1ff;
  background:radial-gradient(120% 70% at 50% 0%,rgba(124,77,255,.28),transparent 60%),radial-gradient(90% 60% at 100% 100%,rgba(56,96,200,.18),transparent 65%),rgba(9,10,22,.78);
  border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(30px) saturate(1.7);backdrop-filter:blur(30px) saturate(1.7);box-shadow:0 24px 60px rgba(0,0,0,.5);transform:translateY(10px) scale(.97);transition:transform .25s}
.vw-ov.open .vw-box{transform:none}
.vw-fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vw-box>*:not(.vw-fx){position:relative}
.vw-x{position:absolute!important;top:12px;right:12px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#c9cfe0;font-size:15px}
.vw-x:hover{background:rgba(255,255,255,.16);color:#fff}
.vw-logo{width:74px;height:74px;border-radius:20px;box-shadow:0 10px 30px rgba(124,77,255,.35)}
.vw-box h2{margin:14px 0 6px;font-size:21px;letter-spacing:-.4px}
.vw-box p{margin:0 auto 16px;max-width:320px;font-size:13px;line-height:1.55;color:rgba(225,230,245,.75)}
.vw-tiers{list-style:none;margin:0 0 6px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.vw-t{padding:9px 6px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.vw-t b{display:block;font-size:13px}.vw-t small{display:block;margin-top:3px;font-size:10px;line-height:1.3;color:rgba(225,230,245,.6)}
.vw-t.plus b{color:#ff8a8a}.vw-t.infinity b{color:#c9b6ff}
.vw-go{margin-top:14px!important}
.vw-alt{display:flex;justify-content:center;gap:6px;margin-top:10px;flex-wrap:wrap}
.vw-alt button{border:0;background:none;color:rgba(225,230,245,.72);font-size:12.5px;padding:8px 10px;border-radius:9px}
.vw-alt button:hover{background:rgba(255,255,255,.07);color:#fff}
