/* Journal window (L): tabs Quêtes / Réputation / Archive. The Archive tab = the ALBUM DE COLLECTION (category tree, one slot per archivable object, selected slot detail). */
.log-body { display: flex; flex-direction: column; max-height: 560px; overflow-y: auto; padding-top: 4px; }
.log-empty { text-align: center; padding: 40px 16px; }
.arc { display: flex; flex-direction: column; gap: 6px; }
/* The Archive tab = the ALBUM DE COLLECTION. Every colour comes from the theme variables (cold grey metal under the Esprit theme). */
.arc { display: flex; flex-direction: column; gap: 6px; }
.arc-note { margin: 2px 0; font-size: var(--fs-small); }
.arc-btns { display: flex; gap: 4px; flex: none; }
.arc-pager { display: flex; justify-content: center; align-items: center; gap: 12px; font-weight: 700; color: var(--gf-ink); }
.arc2 .arc-body { display: flex; gap: 8px; align-items: flex-start; }
.arc2 .arc-left { flex: none; width: 168px; display: flex; flex-direction: column; gap: 8px; }
.arc2 .arc-tree { display: flex; flex-direction: column; gap: 2px; max-height: 400px; overflow-y: auto; padding: 3px; background: var(--gf-paper-dark); border: 1px solid var(--gf-tile-edge); border-radius: 5px; }
.arc2 .arc-cat, .arc2 .arc-sub { display: flex; justify-content: space-between; gap: 6px; padding: 3px 8px; text-align: left; font-size: var(--fs-body); color: var(--gf-title); background: var(--gf-plate-dark); border: 0; border-radius: 3px; cursor: pointer; }
.arc2 .arc-sub { margin-left: 12px; padding: 2px 8px; font-size: calc(11.5px * var(--ui-text)); color: var(--gf-ink); background: var(--gf-paper); box-shadow: inset 0 0 0 1px var(--gf-tile-edge); }
.arc2 .arc-cat:hover:not(.on):not(.off) { filter: brightness(1.25); }
.arc2 .arc-sub:hover:not(.on) { background: var(--gf-tile); }
.arc2 .arc-cat.on, .arc2 .arc-sub.on { background: var(--gf-plate); color: var(--gf-ink); font-weight: 700; box-shadow: inset 3px 0 0 var(--gf-frame-hi); }
.arc2 .arc-cat.cur:not(.on) { box-shadow: inset 3px 0 0 var(--gf-frame-hi); }
.arc2 .arc-cat.off { opacity: 0.4; cursor: not-allowed; }
.arc2 .arc-cat i, .arc2 .arc-sub i { font-style: normal; opacity: 0.75; }
.arc2 .arc-right { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.arc2 .arc-controls { display: flex; gap: 6px; align-items: center; }
.arc2 .arc-controls select, .arc2 .arc-controls input[type="text"], .arc2 .arc-controls input:not([type]) { color: var(--gf-ink); background: var(--gf-paper); border: 1px solid var(--gf-tile-edge); border-radius: 4px; padding: 2px 5px; font-size: var(--fs-body); }
.arc2 .arc-controls input:not([type="checkbox"]) { flex: 1; min-width: 90px; }
.arc2 .arc-equip { display: flex; align-items: center; gap: 4px; flex: none; font-size: var(--fs-body); font-weight: 700; color: var(--gf-ink); cursor: pointer; white-space: nowrap; }
.arc2 .arc-sec-head { display: flex; justify-content: space-between; gap: 8px; padding: 2px 8px; font-size: var(--fs-body); font-weight: 700; color: var(--gf-title); background: var(--gf-plate-dark); border-radius: 3px; }
.arc2 .arc-grid { display: grid; grid-template-columns: repeat(10, 42px); gap: 2px; max-height: 214px; overflow-y: auto; padding: 3px; background: var(--gf-paper-dark); border: 1px solid var(--gf-tile-edge); border-radius: 4px; }
.arc2 .arc-tile { width: 42px; height: 42px; position: relative; }
.arc2 .arc-album.miss { opacity: 0.28; filter: grayscale(0.9); }
.arc2 .arc-album.bag { opacity: 0.6; filter: grayscale(0.5); }
.arc2 .arc-album.have { box-shadow: 0 0 6px var(--gf-frame-hi); }
.arc2 .arc-album.sel { outline: 2px solid var(--gf-frame-hi); outline-offset: -1px; }
.arc2 .arc-mark { position: absolute; right: 1px; bottom: 0; font-size: var(--fs-strong); font-weight: 800; line-height: 1; color: #6fe07a; text-shadow: 0 0 3px #000; pointer-events: none; }
.arc2 .arc-empty { opacity: 0.25; }
.arc2 .arc-none { grid-column: 1 / -1; margin: 6px 0; text-align: center; }
.arc2 .arc-detail { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 40px; padding: 4px 8px; background: var(--gf-paper); border: 1px solid var(--gf-tile-edge); border-radius: 5px; }
.arc2 .arc-dinfo { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.arc2 .arc-dline { font-size: var(--fs-small); opacity: 0.75; }
.arc2 .arc-totals { display: flex; justify-content: space-between; font-size: var(--fs-body); font-weight: 700; color: var(--gf-title); padding: 3px 8px; background: var(--gf-plate-dark); border-radius: 3px; }
