/* Ritual de selamento leve: somente opacity/transform animados para não travar a hunt. */
.nrmt-boss-intro {
  inset: 74px 0 auto;
  height: 94px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

.nrmt-boss-intro__vignette,
.nrmt-boss-intro__slash { display: none; }

.nrmt-boss-intro__content {
  box-sizing: border-box;
  width: min(720px, calc(100vw - 28px));
  padding: 10px 20px;
  border: 1px solid rgba(224, 77, 55, .62);
  background: linear-gradient(100deg, rgba(19, 10, 10, .94), rgba(81, 17, 15, .92), rgba(19, 10, 10, .94));
  box-shadow: 0 10px 32px rgba(0, 0, 0, .52), 0 0 17px rgba(219, 52, 38, .2);
  animation: nrmtRitualStageIn .28s ease-out both;
}

.nrmt-boss-intro__eyebrow { margin-bottom: 4px; font-size: 8px; }
.nrmt-boss-intro__title { gap: 9px; font-size: clamp(17px, 2.4vw, 28px); }
.nrmt-boss-intro__rank { padding: 4px 7px; font-size: 8px; }
.nrmt-boss-intro__line { width: min(420px, 60vw); margin: 6px auto 4px; }
.nrmt-boss-intro__hint { font-size: 7px; }

.nrmt-seal-cinematic {
  opacity: 0;
  transition: opacity .18s ease;
  contain: layout paint style;
}

.nrmt-seal-cinematic.is-visible {
  opacity: 1;
}

.nrmt-seal-cinematic__backdrop {
  background: radial-gradient(circle at 50% 48%, rgba(21, 61, 53, .28), rgba(3, 7, 8, .48) 72%);
  opacity: 1;
  animation: none;
}

.nrmt-seal-cinematic__stage {
  box-sizing: border-box;
  width: min(470px, 92vw);
  padding: 18px 22px 16px;
  overflow: hidden;
  border: 1px solid rgba(213, 169, 61, .65);
  background: linear-gradient(145deg, rgba(15, 24, 24, .94), rgba(8, 13, 15, .91));
  box-shadow: 0 16px 48px rgba(0, 0, 0, .55), inset 0 0 34px rgba(50, 175, 142, .05);
  animation: nrmtRitualStageIn .34s ease-out both;
  will-change: transform, opacity;
}

.nrmt-seal-cinematic__stage::before,
.nrmt-seal-cinematic__stage::after {
  content: "";
  position: absolute;
  top: 8px;
  width: 46px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #d4a83c);
}

.nrmt-seal-cinematic__stage::before { left: 8px; }
.nrmt-seal-cinematic__stage::after { right: 8px; transform: scaleX(-1); }

.nrmt-seal-cinematic__kicker {
  font-size: 9px;
  letter-spacing: .23em;
}

.nrmt-seal-cinematic__boss {
  margin-top: 5px;
  font-size: clamp(18px, 3vw, 27px);
  text-shadow: 0 0 14px rgba(255, 71, 47, .4);
}

.nrmt-seal-cinematic__team {
  margin-top: 5px;
  color: #75aa9f;
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .18em;
}

.nrmt-seal-cinematic__ritual {
  width: 210px;
  height: 210px;
  margin: 5px auto 0;
  contain: layout paint;
}

.nrmt-seal-cinematic__chakra {
  width: 166px;
  height: 166px;
  border-color: rgba(85, 213, 187, .48);
  box-shadow: 0 0 12px rgba(71, 203, 183, .48), inset 0 0 16px rgba(71, 203, 183, .14);
  animation: nrmtRitualOrbit 4.8s linear infinite;
  will-change: transform;
}

.nrmt-seal-cinematic__scroll {
  width: 82px;
  height: 126px;
  box-shadow: 0 0 20px rgba(73, 231, 204, .2), inset 0 0 12px rgba(82, 42, 12, .38);
  animation: nrmtRitualScrollOpen .38s .08s ease-out both;
  will-change: transform;
}

.nrmt-seal-cinematic__formula {
  inset: 17px 10px;
  font-size: 42px;
}

.nrmt-seal-cinematic__rings {
  animation: nrmtRitualOrbit 7s linear infinite reverse;
}

.nrmt-seal-cinematic__anchor {
  position: absolute;
  z-index: 5;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid #6d5840;
  border-radius: 50%;
  background: #171b1b;
  color: #806f55;
  font: 800 15px/1 serif;
  opacity: .55;
  transform: scale(.78);
  transition: transform .22s ease, opacity .22s ease, color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.nrmt-seal-cinematic__anchor.anchor-1 { top: 3px; left: 90px; }
.nrmt-seal-cinematic__anchor.anchor-2 { top: 90px; right: 3px; }
.nrmt-seal-cinematic__anchor.anchor-3 { bottom: 3px; left: 90px; }
.nrmt-seal-cinematic__anchor.anchor-4 { top: 90px; left: 3px; }

.nrmt-seal-cinematic.phase-1 .anchor-1,
.nrmt-seal-cinematic.phase-2 .anchor-2,
.nrmt-seal-cinematic.phase-3 .anchor-3,
.nrmt-seal-cinematic.phase-4 .anchor-4 {
  opacity: 1;
  transform: scale(1);
  color: #f5d776;
  border-color: #e0b64b;
  box-shadow: 0 0 13px rgba(224, 182, 75, .5);
}

.nrmt-seal-cinematic__thread {
  position: absolute;
  z-index: 3;
  width: 178px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #dcbd58 18%, #78d7c4 50%, #dcbd58 82%, transparent);
  opacity: 0;
  transition: opacity .28s ease, transform .28s ease;
}

.nrmt-seal-cinematic__thread.thread-a { transform: rotate(45deg) scaleX(.25); }
.nrmt-seal-cinematic__thread.thread-b { transform: rotate(-45deg) scaleX(.25); }
.nrmt-seal-cinematic.phase-3 .nrmt-seal-cinematic__thread { opacity: .9; }
.nrmt-seal-cinematic.phase-3 .thread-a { transform: rotate(45deg) scaleX(1); }
.nrmt-seal-cinematic.phase-3 .thread-b { transform: rotate(-45deg) scaleX(1); }

.nrmt-seal-cinematic__status {
  min-height: 14px;
  color: #bceee6;
  font-size: 8px;
  letter-spacing: .15em;
}

.nrmt-seal-cinematic__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  margin-top: 8px;
}

.nrmt-seal-cinematic__steps span {
  padding: 4px 2px;
  border: 1px solid #303d3a;
  color: #53635f;
  font-size: 6px;
  font-weight: 900;
  letter-spacing: .09em;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.nrmt-seal-cinematic__steps span.is-active {
  border-color: #b28e36;
  background: rgba(180, 142, 51, .12);
  color: #f1d272;
}

.nrmt-seal-cinematic__progress {
  height: 3px;
  margin-top: 7px;
  overflow: hidden;
  background: #202b29;
}

.nrmt-seal-cinematic__progress i {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #b68a2f, #70d9c4);
  box-shadow: 0 0 7px rgba(92, 218, 191, .5);
  transition: width .34s ease;
}

.nrmt-seal-cinematic__result {
  margin-top: 10px;
}

.nrmt-seal-cinematic__result strong {
  font-size: clamp(17px, 3vw, 25px);
}

.nrmt-seal-cinematic.is-revealed .nrmt-seal-cinematic__result {
  animation: nrmtRitualResultIn .3s ease-out both;
}

.nrmt-seal-cinematic.is-success .nrmt-seal-cinematic__chakra {
  border-color: #70efbb;
  box-shadow: 0 0 24px rgba(38, 200, 141, .75), inset 0 0 18px rgba(36, 156, 118, .5);
}

.nrmt-seal-cinematic.is-success .nrmt-seal-cinematic__scroll {
  transform: scale(.78);
  transition: transform .4s ease;
}

.nrmt-seal-cinematic.is-failure .nrmt-seal-cinematic__ritual {
  animation: nrmtRitualBreak .38s ease both;
}

.nrmt-seal-cinematic.is-failure .nrmt-seal-cinematic__chakra {
  border-color: #ff493d;
  opacity: .25;
  transition: opacity .3s ease, border-color .3s ease;
}

@keyframes nrmtRitualStageIn {
  from { opacity: 0; transform: translateY(12px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes nrmtRitualScrollOpen {
  from { transform: scaleY(.08); }
  to { transform: scaleY(1); }
}

@keyframes nrmtRitualOrbit {
  to { transform: rotate(360deg); }
}

@keyframes nrmtRitualResultIn {
  from { opacity: 0; transform: scale(.88); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes nrmtRitualBreak {
  25% { transform: translateX(-6px); }
  55% { transform: translateX(6px); }
  100% { transform: translateX(0); }
}

@media (max-width: 600px) {
  .nrmt-seal-cinematic__stage { padding: 14px 15px 12px; }
  .nrmt-seal-cinematic__ritual { width: 190px; height: 190px; margin: 1px auto -5px; transform: scale(.84); }
  .nrmt-seal-cinematic__anchor.anchor-1 { left: 80px; }
  .nrmt-seal-cinematic__anchor.anchor-2 { top: 80px; }
  .nrmt-seal-cinematic__anchor.anchor-3 { left: 80px; }
  .nrmt-seal-cinematic__anchor.anchor-4 { top: 80px; }
}

@media (prefers-reduced-motion: reduce) {
  .nrmt-seal-cinematic__chakra,
  .nrmt-seal-cinematic__rings { animation: none; }
}

.nrmt-global-summon.is-seal {
  background: linear-gradient(100deg, rgba(8, 18, 17, .97), rgba(24, 52, 43, .97), rgba(8, 18, 17, .97));
  border-color: #61d4ac;
  box-shadow: 0 14px 45px rgba(0, 0, 0, .8), 0 0 24px rgba(62, 215, 164, .35);
}

.nrmt-global-summon.is-seal .nrmt-global-summon__flare {
  animation: none;
  background: radial-gradient(circle at 50% 50%, rgba(99, 225, 183, .18), transparent 58%);
}

.nrmt-global-summon.is-seal small,
.nrmt-global-summon.is-seal span { color: #83dabb; }
.nrmt-global-summon.is-seal strong { color: #dffbed; }

.nrmt-global-summon.is-seal.is-failure {
  background: linear-gradient(100deg, rgba(20, 8, 8, .97), rgba(61, 18, 17, .97), rgba(20, 8, 8, .97));
  border-color: #e25b4d;
  box-shadow: 0 14px 45px rgba(0, 0, 0, .8), 0 0 24px rgba(226, 65, 52, .34);
}

.nrmt-global-summon.is-seal.is-failure small,
.nrmt-global-summon.is-seal.is-failure span { color: #ed8f83; }
.nrmt-global-summon.is-seal.is-failure strong { color: #ffe5e1; }

/* Escolha manual aberta ao clicar em uma Biju enfraquecida na hunt. */
#nrmt-bijuu-seal-choice {
  position: fixed;
  z-index: 1000020;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px;
  background: radial-gradient(circle at 50% 44%, rgba(55, 22, 18, .4), rgba(2, 5, 6, .88) 70%);
  backdrop-filter: blur(4px);
}

#nrmt-bijuu-seal-choice[hidden] { display: none; }

.nrmt-bijuu-seal-card {
  position: relative;
  box-sizing: border-box;
  width: min(590px, calc(100vw - 30px));
  padding: 24px;
  overflow: hidden;
  border: 1px solid #9d712a;
  background: linear-gradient(155deg, rgba(27, 34, 36, .99), rgba(8, 13, 15, .99));
  box-shadow: 0 28px 100px #000, inset 0 0 52px rgba(185, 125, 33, .045);
  clip-path: polygon(13px 0, calc(100% - 13px) 0, 100% 13px, 100% calc(100% - 13px), calc(100% - 13px) 100%, 13px 100%, 0 calc(100% - 13px), 0 13px);
}

.nrmt-bijuu-seal-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, transparent, #e2b340 28% 72%, transparent);
}

.nrmt-bijuu-seal-close {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border: 1px solid #78413a;
  background: #2a1716;
  color: #f4d7d1;
  font-size: 20px;
  cursor: pointer;
}

.nrmt-bijuu-seal-card header small {
  color: #788286;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .2em;
}

.nrmt-bijuu-seal-card header h2 {
  margin: 4px 0 18px;
  color: #e7b63e;
  font: 900 25px NinjaTitle, Georgia, serif;
  letter-spacing: .06em;
}

.nrmt-bijuu-seal-target {
  position: relative;
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: center;
  min-height: 108px;
  padding: 11px 16px;
  overflow: hidden;
  border: 1px solid #3b4548;
  background: radial-gradient(circle at 62px 50%, rgba(202, 75, 44, .15), transparent 35%), #0b1113;
}

.nrmt-bijuu-seal-target img {
  position: relative;
  z-index: 2;
  justify-self: center;
  max-width: 88px;
  max-height: 94px;
  image-rendering: pixelated;
  filter: drop-shadow(0 6px 5px #000);
}

.nrmt-bijuu-seal-formula {
  position: absolute;
  left: 9px;
  top: 8px;
  display: grid;
  place-items: center;
  width: 94px;
  height: 94px;
  border: 1px dashed rgba(226, 179, 64, .42);
  border-radius: 50%;
  color: rgba(226, 179, 64, .18);
  font: 900 48px Georgia, serif;
  animation: nrmtRitualOrbit 9s linear infinite;
}

.nrmt-bijuu-seal-target span { display: grid; gap: 4px; }
.nrmt-bijuu-seal-target span small { color: #db7c65; font-size: 8px; font-weight: 900; letter-spacing: .16em; }
.nrmt-bijuu-seal-target span strong { color: #f1eadd; font-size: 18px; }
.nrmt-bijuu-seal-target span em { color: #e4b544; font-size: 10px; font-style: normal; font-weight: 800; }

.nrmt-bijuu-seal-rules {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px;
  margin-top: 10px;
}

.nrmt-bijuu-seal-rules article {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid #343e41;
  background: #0c1214;
  text-align: center;
}

.nrmt-bijuu-seal-rules small { color: #727d81; font-size: 7px; font-weight: 900; letter-spacing: .13em; }
.nrmt-bijuu-seal-rules b { color: #dfb03b; font-size: 12px; }
.nrmt-bijuu-seal-rules b.has-scroll { color: #73d891; }
.nrmt-bijuu-seal-rules b.no-scroll { color: #ed6659; }
.nrmt-bijuu-seal-card > p { margin: 13px 3px 0; color: #7e898d; font-size: 9px; line-height: 1.45; }
.nrmt-bijuu-seal-warning { padding: 8px 10px; border-left: 2px solid #d39735; background: rgba(190, 127, 35, .08); color: #c8bda8 !important; }
.nrmt-bijuu-seal-warning b { color: #e5bb58; }

.nrmt-bijuu-seal-card footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 18px;
}

.nrmt-bijuu-seal-card footer button {
  min-width: 145px;
  padding: 11px 14px;
  border: 1px solid #3d474a;
  background: #111719;
  color: #9ca5a7;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}

.nrmt-bijuu-seal-card footer button.is-primary {
  border-color: #b58327;
  background: linear-gradient(#9b6c1e, #694512);
  color: #fff2c2;
  box-shadow: inset 0 1px rgba(255, 224, 127, .22), 0 0 18px rgba(201, 143, 33, .12);
}

.nrmt-bijuu-seal-card footer button:disabled { opacity: .38; cursor: not-allowed; filter: grayscale(1); }

@media (max-width: 560px) {
  .nrmt-bijuu-seal-card { padding: 19px 15px; }
  .nrmt-bijuu-seal-target { grid-template-columns: 82px 1fr; padding-left: 5px; }
  .nrmt-bijuu-seal-target img { max-width: 72px; }
  .nrmt-bijuu-seal-formula { width: 76px; height: 76px; top: 16px; }
  .nrmt-bijuu-seal-rules { grid-template-columns: 1fr; }
  .nrmt-bijuu-seal-card footer { display: grid; grid-template-columns: 1fr 1fr; }
  .nrmt-bijuu-seal-card footer button { min-width: 0; }
}
