
#liec-spotlight {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: clamp(70px,10vh,130px);
  background: rgba(13,26,53,0.6); backdrop-filter: blur(5px);
  opacity: 0; pointer-events: none; transition: opacity 0.14s;
}
#liec-spotlight.sp-open { opacity: 1; pointer-events: all; }
#liec-sp-modal {
  background: #fff; border-radius: 14px; width: 100%; max-width: 640px;
  margin: 0 1rem; box-shadow: 0 24px 80px rgba(0,0,0,0.3), 0 0 0 1px rgba(0,0,0,0.07);
  overflow: hidden; transform: translateY(-8px); transition: transform 0.14s;
}
#liec-spotlight.sp-open #liec-sp-modal { transform: translateY(0); }
#liec-sp-inputwrap {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 20px; border-bottom: 1px solid #e8e3da; color: #9095a0;
}
#liec-sp-input {
  flex: 1; border: none; outline: none; font-size: 17px;
  font-family: 'DM Sans', sans-serif; color: #1c1c1e; background: transparent;
}
#liec-sp-input::placeholder { color: #b8bcc5; }
#liec-sp-inputwrap > kbd {
  font-family: inherit; font-size: 11px; background: #f0ede8;
  border: 1px solid #ddd; border-radius: 4px; padding: 2px 7px; color: #999;
}
#liec-sp-results { max-height: 380px; overflow-y: auto; }
.liec-sp-item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 20px; cursor: pointer; text-decoration: none;
  transition: background 0.08s; border-bottom: 1px solid #f4f1ec;
}
.liec-sp-item:last-child { border-bottom: none; }
.liec-sp-item:hover, .liec-sp-item.sp-active { background: #f7f3eb; }
.liec-sp-cat {
  flex-shrink: 0; font-size: 10px; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: #fff; background: #1a2744;
  border-radius: 4px; padding: 3px 7px; white-space: nowrap;
}
.liec-sp-title { font-size: 14px; color: #1c1c1e; line-height: 1.4; flex: 1; }
.liec-sp-title mark { background: none; color: #a07d2d; font-weight: 600; } /* WCAG AA contrast vs #fafaf8 */
.liec-sp-arr { color: #a07d2d; font-size: 13px; flex-shrink: 0; opacity: 0; transition: opacity 0.1s; }
.liec-sp-item:hover .liec-sp-arr, .liec-sp-item.sp-active .liec-sp-arr { opacity: 1; }
#liec-sp-empty { padding: 2.2rem 1.5rem; text-align: center; color: #b0b4bd; font-size: 14px; }
#liec-sp-footer {
  display: flex; gap: 1.5rem; padding: 9px 20px;
  border-top: 1px solid #e8e3da; background: #fafaf8;
  font-size: 11px; color: #b0b4bd;
}
#liec-sp-footer kbd {
  font-family: inherit; background: #ede9e3; border: 1px solid #ddd;
  border-radius: 3px; padding: 1px 5px; color: #999; margin-right: 3px;
}
