.ll-blessing-task {
  border-color: rgba(76, 220, 137, .62) !important;
  box-shadow: 0 0 0 1px rgba(76, 220, 137, .12), 0 0 24px rgba(45, 190, 112, .16) !important;
  background-image: linear-gradient(180deg, rgba(33, 104, 66, .10), rgba(15, 27, 39, 0)) !important;
}

.ll-blessing-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  margin: 7px 0 2px;
  padding: 4px 9px;
  border: 1px solid rgba(78, 224, 143, .55);
  border-radius: 999px;
  background: rgba(28, 118, 69, .2);
  color: #83f0b2;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.ll-ux-toast {
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 10020;
  max-width: min(420px, calc(100vw - 32px));
  padding: 12px 16px;
  border: 1px solid rgba(89, 135, 175, .42);
  border-radius: 12px;
  background: rgba(10, 21, 32, .97);
  box-shadow: 0 14px 38px rgba(0,0,0,.38);
  color: #eaf4ff;
  font-weight: 700;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}
.ll-ux-toast.good { border-color: rgba(72, 214, 133, .55); }
.ll-ux-toast.show { opacity: 1; transform: translateY(0); }

.ll-wiki-modal {
  position: fixed;
  inset: 0;
  z-index: 10010;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}
.ll-wiki-modal.show { display: flex; }
.ll-wiki-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(1, 7, 13, .82);
  backdrop-filter: blur(5px);
}
.ll-wiki-dialog {
  position: relative;
  width: min(1180px, 96vw);
  height: min(820px, 92vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(86, 135, 174, .42);
  border-radius: 16px;
  background: #0c1621;
  box-shadow: 0 28px 80px rgba(0,0,0,.58);
}
.ll-wiki-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 16px;
  border-bottom: 1px solid rgba(86, 135, 174, .28);
  background: #101d2a;
}
.ll-wiki-head > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ll-wiki-head strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ll-wiki-kicker { color: #f1c85d; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ll-wiki-close { min-width: 38px; width: 38px; height: 36px; padding: 0; font-size: 22px; }
.ll-wiki-body { flex: 1; min-height: 0; display: flex; flex-direction: column; background: #08111a; }
.ll-wiki-frame-wrap { position: relative; flex: 1; min-height: 0; }
.ll-wiki-frame { width: 100%; height: 100%; border: 0; background: white; }
.ll-wiki-loading { position: absolute; inset: 0; display: grid; place-items: center; color: #b7cadb; background: #08111a; z-index: 1; }
.ll-wiki-fallback { padding: 9px 14px; border-top: 1px solid rgba(86, 135, 174, .22); }
.ll-wiki-fallback a { color: #79c5ff; }
.ll-image-stage { flex: 1; min-height: 0; display: grid; place-items: center; padding: 24px; overflow: auto; }
.ll-image-stage img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 10px; }
body.ll-modal-open { overflow: hidden; }

#routeView textarea {
  min-height: 132px;
  line-height: 1.45;
}

@media (max-width: 720px) {
  .ll-wiki-modal { padding: 8px; }
  .ll-wiki-dialog { width: 100%; height: 96vh; border-radius: 12px; }
  .ll-ux-toast { right: 12px; bottom: 14px; left: 12px; max-width: none; }
  #routeView textarea { min-height: 155px; }
}
