/* The Journal window (L, ui/windows/LogWindow.js `.gfw-log`): ONE fixed size whatever the tab, compact tabs and buttons, and one palette for every tab (the lavender of the
   "Esprit" theme: paper, plates, frame), no brown nor orange left in Quêtes / Réputation / Palmarès. The Palmarès is laid out like the original game's (tree + table). */
.gfw-log { --j-paper: var(--gf-paper, #f0eff6); --j-paper2: var(--gf-paper-dark, #dad9e5); --j-plate: var(--gf-plate, #b5b2cd); --j-dark: var(--gf-plate-dark, #23222b);
  --j-edge: var(--gf-tile-edge, #8b86a9); --j-frame: var(--gf-frame, #585374); --j-hi: var(--gf-frame-hi, #8e88b3); --j-ink: var(--gf-ink, #2c2a37); --j-accent: #6a58b0; --j-good: #2e7d3a; }
.gfw-log .gfw-tabs { gap: 2px; }
.gfw-log .gfw-tab { padding: 3px 10px; font-size: var(--fs-small); }
.gfw-log .log-body { height: 540px; max-height: none; overflow: hidden; padding-top: 4px; }
.gfw-log .log-body > * { height: 100%; box-sizing: border-box; overflow-y: auto; }
.gfw-log .gf-btn { padding: 1px 8px; font-size: var(--fs-small); min-height: 0; }
.gfw-log .log-empty { padding: 30px 16px; }
.gfw-log .log-empty h4 { margin: 0 0 6px; color: var(--j-ink); }
/* Quêtes and Réputation: cards on the theme paper. */
.gfw-log .ql, .gfw-log .rep { max-height: none; gap: 5px; }
.gfw-log .qp-card, .gfw-log .rep-card { padding: 6px 8px; gap: 3px; background: var(--j-paper); border: 1px solid var(--j-edge); border-radius: 5px; box-shadow: inset 0 1px 0 #fff; }
.gfw-log .qp-card.ready { border-color: var(--j-good); box-shadow: inset 3px 0 0 var(--j-good); }
.gfw-log .qp-head b, .gfw-log .rep-head b, .gfw-log .rep-goalhead, .gfw-log .rep-wallet, .gfw-log .rep-stat b, .gfw-log .rep-card > b { color: var(--j-ink); }
.gfw-log .qp-tier, .gfw-log .qp-card:not(.ready) .qp-state { color: var(--j-accent); }
.gfw-log .qp-state, .gfw-log .qp-reward { color: var(--j-good); }
.gfw-log .qp-bar { height: 13px; border-radius: 3px; background: var(--j-dark); }
.gfw-log .qp-bar i { background: linear-gradient(90deg, #8b6ad8, #c79bf0); }
.gfw-log .qp-bar span { line-height: 13px; }
.gfw-log .rep-hero { background: linear-gradient(110deg, var(--j-paper), var(--j-plate)); border-color: var(--j-frame); }
.gfw-log .rep-points { color: var(--j-accent); font-size: var(--fs-head); }
.gfw-log .rep-stat { border-bottom-color: var(--j-hi); }
/* Palmarès: the category tree, the description, the place bar and the table. */
.gfw-log .lad { display: flex; gap: 6px; align-items: stretch; overflow: hidden; }
.lad-tree { flex: none; width: 150px; display: flex; flex-direction: column; gap: 2px; padding: 3px; overflow-y: auto; background: var(--j-paper2); border: 1px solid var(--j-edge); border-radius: 5px; }
.lad-tree-h { padding: 3px 6px; font-size: var(--fs-small); font-weight: 700; color: var(--gf-title, #fff); background: var(--j-dark); border-radius: 3px; }
.lad-cat, .lad-sub { display: flex; align-items: center; gap: 5px; padding: 3px 6px; border: 0; border-radius: 3px; text-align: left; font: inherit; font-size: var(--fs-body); cursor: pointer; }
.lad-cat { font-weight: 700; color: var(--gf-title, #fff); background: var(--j-frame); }
.lad-cat i { width: 10px; font-style: normal; font-weight: 800; }
.lad-sub { margin-left: 12px; font-size: calc(11.5px * var(--ui-text)); color: var(--j-ink); background: var(--j-paper); box-shadow: inset 0 0 0 1px var(--j-edge); }
.lad-sub:hover:not(.on) { background: #fff; }
.lad-sub.on { background: var(--j-plate); font-weight: 700; box-shadow: inset 3px 0 0 var(--j-accent); }
.lad-right { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 5px; overflow: hidden; }
.lad-desc { padding: 4px 8px; background: var(--j-paper); border: 1px solid var(--j-edge); border-radius: 5px; }
.lad-desc-h { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.lad-desc-h b { font-size: var(--fs-body); color: var(--j-ink); }
.lad-desc-h span { font-size: var(--fs-caption); font-weight: 700; color: var(--j-accent); }
.lad-desc p { margin: 2px 0 0; font-size: var(--fs-small); line-height: 1.3; color: #5a5672; }
.lad-bar { display: flex; align-items: center; gap: 8px; }
.lad-place { flex: 1; padding: 2px 10px; border: 1px solid var(--j-frame); border-radius: 10px; font: inherit; font-size: var(--fs-small); font-weight: 700; color: var(--gf-title, #fff); cursor: pointer;
  background: linear-gradient(var(--j-hi), var(--j-frame)); }
.lad-choice { display: flex; align-items: center; gap: 5px; font-size: var(--fs-small); font-weight: 700; color: var(--j-ink); }
.lad-cls { padding: 1px 4px; font: inherit; font-size: var(--fs-small); color: var(--j-ink); background: var(--j-paper); border: 1px solid var(--j-edge); border-radius: 4px; }
.lad-table { flex: 1; min-height: 0; overflow-y: auto; background: var(--j-paper2); border: 1px solid var(--j-edge); border-radius: 5px; }
.lad-tr { display: grid; grid-template-columns: 52px 1fr 78px 46px 52px 94px; align-items: center; gap: 4px; padding: 2px 6px; font-size: calc(11.5px * var(--ui-text)); color: var(--j-ink); border-bottom: 1px solid rgba(139, 134, 169, 0.25); }
.lad-tr:nth-child(even):not(.lad-th) { background: rgba(255, 255, 255, 0.45); }
.lad-tr span, .lad-tr b { text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-variant-numeric: tabular-nums; }
.lad-tr .lad-name { text-align: left; }
.lad-tr b { text-align: right; color: var(--j-accent); }
.lad-th { position: sticky; top: 0; z-index: 1; font-size: var(--fs-small); font-weight: 700; color: var(--gf-title, #fff); background: var(--j-dark); }
.lad-th span:nth-child(2) { text-align: left; }
.lad-th span:last-child { text-align: right; }
.lad-tr.me { background: rgba(46, 125, 58, 0.16) !important; box-shadow: inset 3px 0 0 var(--j-good); font-weight: 700; }
.lad-rank { display: flex; align-items: center; justify-content: center; gap: 3px; font-weight: 700; }
.lad-crown { font-style: normal; font-size: var(--fs-body); line-height: 1; }
.lad-crown.c1 { color: #8b6ad8; text-shadow: 0 0 4px rgba(139, 106, 216, 0.7); }
.lad-crown.c2 { color: #8f9bb0; }
.lad-crown.c3 { color: #a88ab8; }
.lad-name small { color: #7a7690; font-weight: 400; }
.lad-pager { display: flex; justify-content: center; align-items: center; gap: 12px; font-size: var(--fs-small); font-weight: 700; color: var(--j-ink); }
.lad-arrow { width: 22px; height: 18px; padding: 0; border: 1px solid var(--j-edge); border-radius: 4px; background: var(--j-paper); color: var(--j-frame); font-size: var(--fs-caption); cursor: pointer; }
.lad-arrow:disabled { opacity: 0.35; cursor: default; }
.lad-wait { margin: 10px; text-align: center; font-size: var(--fs-body); color: #6d6988; font-style: italic; }
/* The arena points of the Réputation tab in the Journal's palette (the orange stays elsewhere, at the arena chests). */
.gfw-log .appts { background: rgba(106, 88, 176, 0.12); }
.gfw-log .appts b { color: var(--j-accent); }
.gfw-log .appts i { background: linear-gradient(#a58be6, #6a58b0); }
.gfw-log .appts.warn b { color: #b3261e; }
