/* ============================================================
   PULSO PRO — SILVER EDITION (v36)
   Tema profesional definitivo: negro profundo + gris plata.
   Sin morados, sin glows de neón, sin radios burbuja.
   Tipografía sobria: Inter para UI, monospace para datos.
   Se carga ÚLTIMO: gana sobre las 4 generaciones de tema previas.
   Este archivo inaugura el sistema de tokens del UI_AUDIT.
   ============================================================ */

:root {
  /* —— Tokens canónicos (sistema del audit) —— */
  --p-bg:        #0a0a0c;   /* fondo profundo */
  --p-surface:   #131316;   /* paneles */
  --p-surface-2: #1b1b1f;   /* superficies elevadas */
  --p-border:    #2a2a30;   /* bordes sutiles */
  --p-border-hi: #45454d;   /* borde activo */
  --p-text:      #e8e8ec;   /* texto primario */
  --p-text-2:    #9a9aa3;   /* secundario */
  --p-text-3:    #62626b;   /* terciario / hints */
  --p-accent:    #ffffff;   /* acento = blanco puro, usado con moderación */
  --p-silver:    #c9ccd4;   /* plata para estados activos */
  --p-danger:    #d4626a;
  --p-ok:        #8fc9a8;
  --p-r-sm: 6px;
  --p-r-md: 10px;
  --p-r-lg: 14px;
  --p-font: Inter, -apple-system, "SF Pro Text", system-ui, sans-serif;
  --p-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace;
  --p-shadow: 0 8px 28px rgba(0,0,0,.5);
}

/* ============ BASE: fuera morados, fuera neón ============ */
body {
  background: var(--p-bg) !important;
  font-family: var(--p-font) !important;
  color: var(--p-text) !important;
}

/* Paneles flotantes del sistema nuevo */
#pulsoPatchOutliner, .pn-left, .pn-inspector, .pulso-code-inspector,
#pulsoNodeInspector, #pulsoAddSheet .pas-panel, #pulsoCrossfader,
#pulsoFpsHud, .preb-card, .modal, #pulsoModeDock {
  background: rgba(15, 15, 18, .92) !important;
  border-color: var(--p-border) !important;
  border-radius: var(--p-r-lg) !important;
  box-shadow: var(--p-shadow) !important;
  backdrop-filter: blur(20px) saturate(.9) !important;
  -webkit-backdrop-filter: blur(20px) saturate(.9) !important;
  color: var(--p-text) !important;
}
#pulsoModeDock, #pulsoCrossfader { border-radius: 999px !important; }

/* ============ BOTONES: sobrios, sin gradientes ============ */
#pulsoModeDock button, #pulsoAddSheet .pas-item, .pn-stack button,
.pn-add button, .po-node, .po-actions button, .pci-actions button,
.pn-btn, .xf-deck, #pulsoOutputBtn, #pulsoV26RunPatch, button.tool,
.preb-card button, .p25-big {
  background: var(--p-surface-2) !important;
  border: 1px solid var(--p-border) !important;
  border-radius: var(--p-r-md) !important;
  color: var(--p-text) !important;
  font-family: var(--p-font) !important;
  font-weight: 600 !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  box-shadow: none !important;
  background-image: none !important;
}
#pulsoModeDock button { border-radius: 999px !important; }

/* Estados activos: plata, no púrpura */
#pulsoModeDock button.active, .pn-btn.on, .po-node.active,
.xf-deck.set, #pulsoOutputBtn.on, button.tool.on, .pci-tab.active {
  background: var(--p-silver) !important;
  border-color: var(--p-silver) !important;
  color: #0a0a0c !important;
}
button:active, .pas-item:active {
  background: var(--p-border-hi) !important;
}

/* Run Patch: el único botón con jerarquía — blanco sólido */
#pulsoV26RunPatch {
  background: var(--p-accent) !important;
  color: #0a0a0c !important;
  border-color: var(--p-accent) !important;
  font-weight: 700 !important;
}

/* ============ TIPOGRAFÍA: datos en mono sobrio ============ */
.pn-node-kind, .po-meta small, .pas-kind, .pci-info, .pn-param label,
#pulsoFpsHud, .xf-hint, .pn-status, .bank-state, .po-type {
  font-family: var(--p-mono) !important;
  font-weight: 500 !important;
  letter-spacing: .04em !important;
  color: var(--p-text-2) !important;
  text-transform: uppercase;
  font-size: 9px !important;
}
h1, h2, h3, .pci-title, .pn-node-title, .p25-title {
  font-family: var(--p-font) !important;
  font-weight: 650 !important;
  letter-spacing: -.01em !important;
  color: var(--p-text) !important;
  text-shadow: none !important;
}

/* ============ NODOS del canvas: cápsulas grafito ============ */
.pn-node {
  background: var(--p-surface) !important;
  border: 1px solid var(--p-border) !important;
  border-radius: var(--p-r-md) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.4) !important;
  backdrop-filter: none !important;
}
.pn-node.selected { outline: 1.5px solid var(--p-silver) !important; outline-offset: 2px !important; }
.pn-node.source { border-left: 3px solid #7d8694 !important; }
.pn-node.fx     { border-left: 3px solid #aab2bd !important; }
.pn-node.mod    { border-left: 3px solid #5c6470 !important; }
.pn-node.out    { border-left: 3px solid #e8e8ec !important; }
.pn-wire { stroke: rgba(200, 204, 212, .55) !important; filter: none !important; stroke-width: 1.6 !important; }
.pn-wire.mod { stroke: rgba(140, 146, 156, .5) !important; }
.pn-port { background: var(--p-silver) !important; border-color: var(--p-bg) !important; box-shadow: none !important; }
.pn-stage { background: radial-gradient(circle at 50% 45%, rgba(255,255,255,.025), transparent 50%) !important; }

/* ============ ICONOS DE TIPO: abreviaturas mono, cero emoji ============ */
.po-icon, .pas-icon, .pci-icon {
  font-family: var(--p-mono) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  color: var(--p-text-2) !important;
  background: var(--p-surface-2);
  border: 1px solid var(--p-border);
  border-radius: var(--p-r-sm);
  min-width: 34px;
  padding: 4px 5px;
  text-align: center;
  line-height: 1;
}

/* ============ SLIDERS: plata fina ============ */
input[type=range] { accent-color: var(--p-silver) !important; }

/* ============ THUMBS del outliner ============ */
.po-thumb { border-radius: var(--p-r-sm) !important; border-color: var(--p-border) !important; }

/* ============ HOME / EMPTY: sobrio ============ */
.p25-mark { filter: grayscale(1) brightness(1.4) !important; }
.p25-tag, .preb-sub { color: var(--p-text-2) !important; }

/* ============ Scrollbars discretos (desktop) ============ */
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb { background: var(--p-border-hi); border-radius: 99px; }
*::-webkit-scrollbar-track { background: transparent; }
