/* MeshTool estate — palette tokens.
   One block per palette. Every iteration adds a block here + one entry in Nav's palette list. */

.pal-piano {
  /* Piano Neon — piano-black lacquer, gold, turquoise; neon magenta + violet that sit with gold on black. */
  --bg: #050506; --bg-rgb: 5 5 6; --bg-2: #09090B;
  --panel: #0E0E11; --panel-rgb: 14 14 17; --panel-2: #15151A;
  --line: #24222A; --line-2: #34313B; --line-soft: #19181D;
  --text: #F6F1E4; --text-2: #DCD5C3; --muted: #B3AB98; --muted-2: #9A927F; --dim: #8A8372; --faint: #635D51;
  --accent: #F5C542; --accent-rgb: 245 197 66; --accent-hi: #FFE08A; --on-accent: #1F1600; --accent-tint: #231C0A;
  --ok: #19F0D8; --ok-rgb: 25 240 216; --on-ok: #002520; --ok-tint: #08211E;
  --bad: #FF3D7F; --bad-rgb: 255 61 127; --bad-tint: #2A0B18;
  --warn: #FF8A3D; --warn-rgb: 255 138 61; --warn-tint: #2A160A;
  --agent: #C77DFF; --agent-rgb: 199 125 255; --agent-tint: #1E1229;
  --grid: rgba(245,197,66,0.035);
  /* 2026's hard-hitting pop: Wasabi — neon chartreuse. Reserved for "a human is needed" and "new". */
  --pop: #CFFF3A; --pop-rgb: 207 255 58; --on-pop: #141A00; --pop-tint: #171D07;
}
/* the neon — only in Piano Neon: gold links glow on hover, cards light up gold with a turquoise halo */
.pal-piano a:hover { text-shadow: 0 0 10px rgb(var(--accent-rgb) / 0.55); }
.pal-piano .capcard:hover { box-shadow: 0 0 0 1px var(--accent), 0 0 22px rgb(var(--accent-rgb) / 0.35), 0 18px 48px rgb(var(--ok-rgb) / 0.12) !important; }

.pal-ember {
  --bg: #0B0E1A; --bg-rgb: 11 14 26; --bg-2: #0E1222;
  --panel: #121729; --panel-rgb: 18 23 41; --panel-2: #181E35;
  --line: #222A42; --line-2: #2F3854; --line-soft: #191F33;
  --text: #ECEFF7; --text-2: #CDD3E3; --muted: #A5ADC5; --muted-2: #9099B3; --dim: #8089A4; --faint: #5E6782;
  --accent: #FF6B2C; --accent-rgb: 255 107 44; --accent-hi: #FF9466; --on-accent: #1C0900; --accent-tint: #2A1710;
  --ok: #7CF5D0; --ok-rgb: 124 245 208; --on-ok: #03231A; --ok-tint: #0D2420;
  --bad: #FF4D5E; --bad-rgb: 255 77 94; --bad-tint: #2A1017;
  --warn: #FFC04D; --warn-rgb: 255 192 77; --warn-tint: #2A2010;
  --agent: #9B8CFF; --agent-rgb: 155 140 255; --agent-tint: #1B1832;
  --grid: rgba(255,255,255,0.03);
  --pop: #CFFF3A; --pop-rgb: 207 255 58; --on-pop: #141A00; --pop-tint: #1A200C;
}

.pal-v1 {
  --bg: #06080A; --bg-rgb: 6 8 10; --bg-2: #080B0E;
  --panel: #0C1014; --panel-rgb: 12 16 20; --panel-2: #10151B;
  --line: #1B232C; --line-2: #26303B; --line-soft: #12181E;
  --text: #E8EEF4; --text-2: #C9D3DD; --muted: #A3AFBC; --muted-2: #8A97A6; --dim: #7C8896; --faint: #5E6B79;
  --accent: #2DE2F0; --accent-rgb: 45 226 240; --accent-hi: #8AF1F8; --on-accent: #031418; --accent-tint: #0A1A1C;
  --ok: #C6F432; --ok-rgb: 198 244 50; --on-ok: #0E1400; --ok-tint: #10180A;
  --bad: #FF6B6B; --bad-rgb: 255 107 107; --bad-tint: #1A0C0E;
  --warn: #FFB547; --warn-rgb: 255 181 71; --warn-tint: #1A140A;
  --agent: #B98CFF; --agent-rgb: 185 140 255; --agent-tint: #1A0F1C;
  --grid: rgba(255,255,255,0.028);
  --pop: #FF5FD2; --pop-rgb: 255 95 210; --on-pop: #22001A; --pop-tint: #200A1B;
}

/* shared bits */
.pop-tag {
  font-family: 'Geist Mono', monospace; font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--on-pop); background: var(--pop); border-radius: 4px; padding: 3px 7px; white-space: nowrap; font-weight: 600;
}
.pal-piano .pop-tag { box-shadow: 0 0 14px rgb(var(--pop-rgb) / 0.45); }
@keyframes arcflow { to { stroke-dashoffset: -40; } }
.arcflow { stroke-dasharray: 4 6; animation: arcflow 2.2s linear infinite; }
@keyframes ping { 0% { r: 3; opacity: .9 } 100% { r: 14; opacity: 0 } }
.ping { animation: ping 2.4s ease-out infinite; }
.sample-tag {
  font-family: 'Geist Mono', monospace; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--warn); border: 1px dashed rgb(var(--warn-rgb) / 0.55); border-radius: 4px; padding: 2px 6px;
  white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
  .mtick, .gflow, .sflow, .sflow-slow, .dvbar, .arcflow, .ping { animation: none !important; }
}
