[data-welcome-back] {
  position: absolute;
  inset: 0;
  z-index: 18;
  pointer-events: none;
  color: #f7f0df;
  font-family: ui-sans-serif, system-ui;
  opacity: 0;
  transition: opacity 0.35s;
}

[data-welcome-back].is-visible { opacity: 1; }

[data-welcome-back] .return-panel {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  width: min(32rem, calc(100% - 2.5rem));
  padding: 1rem 1.1rem 0.8rem;
  border: 1px solid rgba(244, 235, 207, 0.3);
  border-radius: 1.1rem;
  background: rgba(8, 32, 39, 0.82);
  box-shadow: 0 1.2rem 4rem rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(12px);
}

[data-welcome-back] header { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; }
[data-welcome-back] header p { margin: 0; color: #d4b77b; font-size: 0.65rem; letter-spacing: 0.16em; }
[data-welcome-back] header strong { font: 600 0.85rem/1.2 ui-serif, Georgia; }
[data-welcome-back] .return-story { display: flex; gap: 0.7rem; margin: 0.65rem 0 0.75rem; align-items: baseline; }
[data-welcome-back] .return-story span { color: #b8cac7; font-size: 0.72rem; white-space: nowrap; }
[data-welcome-back] .return-story b { font: 500 1rem/1.25 ui-serif, Georgia; }
[data-welcome-back] ol { display: none; list-style: none; padding: 0; margin: 0.35rem 0 0.75rem; gap: 0.35rem; }
[data-welcome-back] li { display: flex; gap: 0.6rem; opacity: 0.35; transition: opacity 0.3s, transform 0.3s; transform: translateY(2px); }
[data-welcome-back] li.is-past { opacity: 0.62; }
[data-welcome-back] li.is-current { opacity: 1; transform: none; }
[data-welcome-back] li > span { color: #d4b77b; font-size: 0.65rem; padding-top: 0.1rem; }
[data-welcome-back] li div { display: flex; justify-content: space-between; gap: 0.6rem; flex: 1; }
[data-welcome-back] li strong, [data-welcome-back] li small { font-size: 0.72rem; }
[data-welcome-back] li small { color: #b8cac7; }
[data-welcome-back="logbook"] ol, [data-welcome-back="chapters"] ol { display: grid; }
[data-welcome-back="lantern"] .return-panel { background: linear-gradient(110deg, rgba(9, 31, 39, 0.9), rgba(74, 53, 22, 0.76)); border-color: rgba(235, 196, 111, 0.5); }
[data-welcome-back] .return-progress { height: 2px; background: rgba(255, 255, 255, 0.18); overflow: hidden; }
[data-welcome-back] .return-progress i { display: block; height: 100%; width: 0; background: #e7c681; transition: width 0.12s linear; }
[data-welcome-back] footer { display: flex; justify-content: flex-end; gap: 0.45rem; margin-top: 0.65rem; pointer-events: auto; }
[data-welcome-back] button { border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 999px; padding: 0.38rem 0.7rem; background: rgba(255, 255, 255, 0.08); color: inherit; font: 600 0.68rem ui-sans-serif; cursor: pointer; }
[data-welcome-back] button:last-child { background: #ece3cf; color: #16353b; }
[data-welcome-back].is-live { opacity: 0; transition-duration: 0.6s; }

.welcome-back-active [data-game-target="rail"],
.welcome-back-active [data-game-target="helm"],
.welcome-back-active [data-game-target="miniMapFrame"] {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
}

@media (max-width: 600px) {
  [data-welcome-back] .return-panel { left: 50%; bottom: 4.5rem; transform: translateX(-50%); width: calc(100% - 1.5rem); padding: 0.8rem; }
  [data-welcome-back] li div { display: block; }
  [data-welcome-back] li small { display: block; margin-top: 0.1rem; }
  [data-welcome-back] header strong { display: none; }
}
