/* Passeport, badges, journal, listes (js/journal.js). Jetons de app.css uniquement. */
.jn-block{margin:18px 0 8px;padding:14px;background:var(--card2);border:1px solid var(--line2);border-radius:var(--r2)}
.jn-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.jn-visit.on{background:var(--acc);color:var(--accTx);border-color:transparent}
.jn-visit .ico{stroke-width:3}
.jn-date{color:var(--tx2);font-size:.85rem}
.jn-field{margin:14px 0 8px}
.jn-note{width:100%;min-height:84px;resize:vertical;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--tx);padding:10px 14px;font:inherit;font-size:1rem;line-height:1.5}
.jn-note:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:transparent}
.jn-photo-img{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:var(--r2);margin:6px 0}
.jn-lists h3{margin:14px 0 6px;font-size:.95rem}
.jn-lists select{margin:6px 0}
.jn-newlist{display:flex;gap:8px;margin:8px 0}
.jn-newlist input{flex:1;min-width:0}
.jn-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;margin:6px 0 12px}
.jn-stats strong{display:block;font-family:var(--fd);font-size:2rem;line-height:1.1;color:var(--acc2)}
.jn-stats span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);font-weight:700}
.jn-bar{height:8px;border-radius:99px;background:var(--card2);border:1px solid var(--line2);overflow:hidden;margin:4px 0 8px}
.jn-bar i{display:block;height:100%;background:var(--acc);border-radius:99px}
.jn-stamps{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:10px 6px}
.jn-stamp{display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--tx3);min-width:0}
.jn-stamp.on{color:var(--acc)}
.jn-stamp-svg{width:64px;height:64px}
.jn-stamp-l{font-size:.72rem;line-height:1.2;margin-top:2px;color:var(--tx2);overflow-wrap:anywhere}
.jn-stamp-n{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--tx3)}
.jn-badges{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.jn-badge{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line2);border-radius:var(--r2);color:var(--tx3)}
.jn-badge.on{color:var(--acc);border-color:rgba(var(--acc-rgb),.45);background:var(--card2)}
.jn-medal{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid currentColor}
.jn-bt strong{display:block;font-family:var(--fd);color:var(--tx);font-size:1rem}
.jn-bt small{display:block;color:var(--tx2);font-size:.8rem;line-height:1.35}
.jn-entries{display:grid;gap:10px}
.jn-entry h3{font-family:var(--fd);font-size:1.1rem;margin:0}
.jn-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}
.jn-thumb img{display:block;width:100%;max-height:260px;object-fit:cover;border-radius:var(--r2);margin-top:10px}
.jn-list h3{font-family:var(--fd);font-size:1.1rem;margin:0}
.jn-list-items{list-style:none;margin:8px 0 0;padding:0}
.jn-list-items li{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line2)}
.jn-list-items a{display:flex;align-items:center;min-height:44px;flex:1;color:var(--tx)}
.jn-list-items .icon-btn .ico{transform:rotate(45deg)}
.jn-recap-out{margin-top:12px}
.jn-recap-img{display:block;width:100%;max-width:420px;height:auto;border-radius:var(--r2);border:1px solid var(--line2);margin:8px auto}
.jn-link{display:flex;align-items:center;gap:14px;color:var(--tx)}
.jn-link>span{flex:1;min-width:0}
.jn-link strong{display:block;font-family:var(--fd)}
.jn-link small{display:block;color:var(--tx2);font-size:.82rem}
.jn-link>.ico:first-child{color:var(--acc)}
