/* Xcess Origins: compact read-only Journal. Gameplay owns quest state. */
.field-journal-overlay {
  position: fixed; inset: 0; z-index: 390;
  display: flex; align-items: center; justify-content: center;
  padding: 14px; overflow: auto; background: rgba(2,6,11,.78);
  backdrop-filter: blur(5px); pointer-events: auto;
}
.field-journal-overlay.hidden { display: none !important; }
.field-journal-book {
  width: min(490px, 96vw); max-height: min(600px, 85dvh);
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid rgba(225,195,125,.48); border-top: 2px solid #c7a45e;
  background: linear-gradient(155deg,#14202b,#090d13);
  box-shadow: 0 18px 70px rgba(0,0,0,.75); color: #e8e5dd;
}
.field-journal-book:focus { outline: none; }
.field-journal-header {
  display: flex; align-items: center; gap: 10px; padding: 14px 17px 11px;
  border-bottom: 1px solid rgba(213,176,108,.2);
}
.field-journal-header>div { flex: 1; min-width: 0; }
.field-journal-header small,.field-journal-kicker {
  color: #9cb4c5; font: 700 9px Arial,sans-serif; letter-spacing: .13em;
}
.field-journal-header h2 { margin: 4px 0 0; font: 25px/1.1 Georgia,serif; color: #f5e8c5; }
.field-journal-close {
  width: 32px; height: 32px; flex: none; border: 1px solid rgba(209,176,114,.35);
  background: rgba(6,12,20,.8); color: #e3d5b8; cursor: pointer;
  font: 23px/1 Arial,sans-serif;
}
.field-journal-close:hover,.field-journal-close:focus-visible { border-color:#e4c789; outline-color:#e4c789; }
.field-journal-tabs { display: flex; flex-wrap: wrap; border-bottom: 1px solid rgba(211,180,118,.2); padding: 0 14px; }
.field-journal-tabs button {
  min-width: 0; flex: 1; padding: 10px; border: 0; border-bottom: 2px solid transparent;
  background: transparent; color: #9aafc1; cursor: pointer;
  font: 700 11px Arial,sans-serif;
}
.field-journal-tabs button.is-active,.field-journal-tabs button[aria-selected="true"] {
  color: #e9d5a4; border-color: #e2bd72;
}
.field-journal-tabs button:focus-visible { outline: 2px solid #e2bd72; outline-offset: -4px; }
.field-journal-body { overflow: auto; min-height: 0; padding: 17px 19px; }
.field-journal-page h3 { margin: 8px 0 7px; font: 23px/1.2 Georgia,serif; color: #f5ecd6; }
.field-journal-page p { margin: 0 0 17px; color: #b7c7d2; font: 12px/1.45 Arial,sans-serif; }
.field-journal-progress-title {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  color: #cdb78c; font: 700 10px Arial,sans-serif;
}
.field-journal-progress-title output { color: #e6d9b7; font-variant-numeric: tabular-nums; }
.field-journal-track { height: 5px; margin: 8px 0 3px; overflow: hidden; background: #060d15; border: 1px solid #344049; }
.field-journal-track>span { height: 100%; display: block; width: 0; background: linear-gradient(90deg,#835326,#f7d58b); transition: width .25s; }
.field-journal-places { display: grid; gap: 0; }
.field-journey-steps { padding-left: 22px; margin: 0 0 16px; }
.field-journey-steps li { padding: 7px 0; color: #b7c7d2; font: 12px/1.5 Arial,sans-serif; }
.field-journey-steps li.is-complete { color: #a9d4ac; }
.field-journey-action { min-height: 44px; width: 100%; padding: 10px 14px; border: 1px solid #c7a45e; background: #292619; color: #f5e8c5; font: 700 12px/1.4 Arial,sans-serif; cursor: pointer; }
.field-journey-action:disabled { opacity: .6; cursor: default; }
.field-journey-action:focus-visible { outline: 2px solid #e4c789; outline-offset: 3px; }
.field-journal-page .field-journey-note { margin-top: 12px; font-size: 11px; }
.field-journal-places>div {
  display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
  padding: 10px 0; border-bottom: 1px solid rgba(198,166,102,.16);
}
.field-journal-places strong { color: #ebd5a0; font: 14px Georgia,serif; white-space: nowrap; }
.field-journal-places span { color: #a8bfce; font: 11px/1.4 Arial,sans-serif; text-align: right; }
.field-journal-footer {
  display: flex; justify-content: flex-end; padding: 8px 18px;
  border-top: 1px solid rgba(198,166,102,.19); color: #8fa4b6;
}
.field-journal-footer span { font: 10px Arial,sans-serif; }
#field-journal-trigger { pointer-events: auto; border-color: rgba(226,191,123,.6); color: #e0d1ad; }
#field-journal-trigger:focus-visible { outline: 2px solid #e4c784; }
@media (max-width: 540px) {
  .field-journal-overlay { padding: 8px; }
  .field-journal-book { width: 100%; max-height: 90dvh; }
  .field-journal-header { padding: 12px 14px 9px; }
  .field-journal-body { padding: 14px; }
  .field-journal-page h3 { font-size: 21px; }
  .field-journal-places>div { display: grid; gap: 4px; }
  .field-journal-places span { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .field-journal-track>span { transition: none; } }

