.sovereign-seal {
  grid-area: seal;
  position: relative;
  display: grid;
  min-width: 0;
  place-items: center;
  align-self: center;
  opacity: 0;
  transform: scale(0.88) rotate(-2deg);
  transition: opacity 1.1s ease 220ms, transform 1.1s cubic-bezier(.2,.8,.2,1) 220ms;
}

.system-gate[data-gate-phase="awake"] .sovereign-seal,
.system-gate[data-gate-phase="opening"] .sovereign-seal {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

.sovereign-seal__visual {
  width: min(100%, 390px);
  aspect-ratio: 1;
  filter:
    drop-shadow(0 0 26px rgba(232, 195, 111, 0.22))
    drop-shadow(0 0 64px rgba(100, 50, 130, 0.2));
  transform:
    translate(
      calc(var(--gate-pointer-x) * 8px),
      calc(var(--gate-pointer-y) * 6px)
    );
  transition: transform 220ms ease-out;
}

.sovereign-seal__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.sovereign-seal__organic,
.sovereign-seal__rings,
.sovereign-seal__glyph-ring {
  transform-origin: 180px 180px;
}

.sovereign-seal__organic {
  animation: sovereign-organic-rotate 34s linear infinite;
}

.sovereign-seal__rings {
  animation: sovereign-rings-rotate 46s linear infinite reverse;
}

.sovereign-seal__glyph-ring {
  animation: sovereign-glyph-ring-rotate 58s linear infinite;
}

.sovereign-seal__organic-line {
  fill: none;
  stroke: rgba(232, 195, 111, 0.28);
  stroke-width: 0.72;
  stroke-dasharray: 2 4;
}

.sovereign-seal__organic-line--1,
.sovereign-seal__organic-line--3 {
  stroke: rgba(131, 236, 237, 0.19);
}

.sovereign-seal__ring,
.sovereign-seal__hexagram,
.sovereign-seal__tick {
  fill: none;
  stroke: rgba(232, 195, 111, 0.46);
  stroke-width: 0.7;
}

.sovereign-seal__ring--1,
.sovereign-seal__ring--3 {
  stroke: rgba(131, 236, 237, 0.23);
  stroke-dasharray: 2 3;
}

.sovereign-seal__hexagram {
  stroke-width: 0.85;
  stroke-dasharray: 5 3;
}

.sovereign-seal__glyph {
  fill: rgba(232, 195, 111, 0.82);
  font-family: "Iowan Old Style", "Times New Roman", serif;
  font-size: 10px;
  text-anchor: middle;
  dominant-baseline: middle;
}

.sovereign-seal__key {
  fill: none;
  stroke: #f1cf78;
  stroke-width: 2.2;
}

.sovereign-seal__core {
  fill: url("#sovereign-core-gradient");
  opacity: 0.82;
  animation: sovereign-core-pulse 2.8s ease-in-out infinite alternate;
}

.sovereign-seal__inscription {
  display: grid;
  gap: 5px;
  width: min(270px, 92%);
  margin-top: -26px;
  padding: 10px 12px;
  border-top: 1px solid rgba(232, 195, 111, 0.22);
  border-bottom: 1px solid rgba(232, 195, 111, 0.22);
  color: rgba(232, 195, 111, 0.68);
  background: rgba(3, 2, 5, 0.38);
  text-align: center;
}

.sovereign-seal__inscription span {
  font-family: "Iowan Old Style", "Times New Roman", serif;
  font-size: 0.58rem;
  letter-spacing: 0.2em;
}

.sovereign-seal__inscription strong {
  color: rgba(244, 234, 212, 0.78);
  font-family: "YuMincho", "Yu Mincho", serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.system-gate__footer {
  margin-top: clamp(16px, 2vh, 26px);
  text-align: center;
  opacity: 0;
  transition: opacity 800ms ease 680ms;
}

.system-gate[data-gate-phase="awake"] .system-gate__footer,
.system-gate[data-gate-phase="opening"] .system-gate__footer {
  opacity: 1;
}

.system-gate__utility {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.system-gate__utility button {
  min-height: 42px;
  padding: 8px 14px;
  border: 1px solid rgba(232, 195, 111, 0.22);
  border-radius: 999px;
  color: rgba(244, 234, 212, 0.76);
  background: rgba(5, 4, 9, 0.76);
}

.system-gate__message {
  min-height: 1.4em;
  margin: 10px 0 0;
  color: var(--gate-cyan);
  font-size: 0.72rem;
}

.system-gate__diagnostics {
  width: min(620px, 100%);
  margin: 6px auto 0;
  color: rgba(244, 234, 212, 0.48);
  font-size: 0.65rem;
}

.system-gate__diagnostics summary {
  cursor: pointer;
}

.system-gate__diagnostics p {
  margin: 5px 0 0;
}

.system-gate__caution {
  max-width: 820px;
  margin: 9px auto 0;
  color: rgba(244, 234, 212, 0.45);
  font-size: 0.64rem;
  line-height: 1.55;
}

.system-gate[data-gate-phase="opening"] .system-entry--kagome {
  opacity: 0.18;
  filter: blur(2px);
  transform: translateX(-18px) scale(0.96);
}

.system-gate[data-gate-phase="opening"] .system-entry--solomon {
  border-color: rgba(255, 230, 157, 0.9);
  box-shadow:
    inset 0 0 50px rgba(232, 195, 111, 0.1),
    0 0 70px rgba(117, 54, 146, 0.5),
    0 30px 100px rgba(0, 0, 0, 0.58);
  transform: scale(1.025);
}

.system-gate[data-gate-phase="opening"] .sovereign-seal {
  filter: brightness(1.32);
  transform: scale(1.09);
}

.system-gate[data-gate-phase="opening"] .system-gate__header,
.system-gate[data-gate-phase="opening"] .system-gate__footer {
  opacity: 0.36;
}
