.classJournal{--journal-ink:#20352f;--journal-accent:#476b5a;max-width:100%;color:var(--journal-ink)}
.classJournal [hidden]{display:none!important}
.journalIntro{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;margin-bottom:22px}
.journalIntro h3{font-size:1.65rem;margin:5px 0 8px;letter-spacing:-.035em}
.journalIntro p{max-width:620px;margin:0;color:#5d6961;line-height:1.6}
.journalMark{font-size:2rem;color:var(--journal-accent);flex-shrink:0}
.journalTools{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.journalTools label{display:grid;gap:6px;font-size:.8rem;font-weight:700;flex:1 1 210px;min-width:0}
.journalTools input,.journalTools select{font:inherit;color:var(--journal-ink);border:1px solid #cbd3c9;border-radius:9px;background:#fffef9;padding:11px;min-width:0;width:100%;box-sizing:border-box}
.classJournal button{cursor:pointer;font:inherit;padding:10px 14px;border:1px solid #c4cec3;border-radius:9px;background:#fffef9;color:var(--journal-ink)}
.classJournal button:disabled{opacity:.55;cursor:wait}
.classJournal button:focus-visible,.classJournal summary:focus-visible,.classJournal a:focus-visible{outline:3px solid #628574;outline-offset:3px}
.journalStatus{color:#5d6961;font-size:.82rem;min-height:1.4em;margin:12px 0}
.journalEntries{display:grid;gap:14px}
.journalEntry{border:1px solid #d0d9cd;border-radius:14px;background:#fffef9;overflow:hidden;min-width:0}
.journalEntry summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:center;padding:20px}
.journalEntry summary::-webkit-details-marker{display:none}
.journalEntry summary:after{content:'+';margin-left:auto;font-size:1.3rem;color:var(--journal-accent)}
.journalEntry[open] summary:after{content:'−'}
.journalEntry time{font-size:.78rem;color:#5d6961;min-width:92px;line-height:1.55}
.journalEntry h4{font-size:1.08rem;line-height:1.4;margin:0;color:var(--journal-ink);overflow-wrap:anywhere}
.journalBody{padding:0 20px 22px;overflow-wrap:anywhere}
.journalBody p{white-space:pre-line;line-height:1.7;color:#3e4b42;font-size:.95rem}
.journalBody h5{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:22px 0 5px;color:var(--journal-accent)}
.journalNotes{max-width:76ch;line-height:1.75;font-size:.95rem;color:#3e4b42}
.journalNotes h5{font-size:1.05rem;line-height:1.45;text-transform:none;letter-spacing:0;margin:28px 0 12px;color:#20352f}
.journalNotes h5:first-child{margin-top:12px}
.journalNotes ul,.journalNotes ol{padding-left:1.5em;margin:10px 0 20px}
.journalNotes li{padding-left:.15em;margin:8px 0;overflow-wrap:anywhere}
.journalNotes li ul,.journalNotes li ol{margin:7px 0 12px}
.journalNotes li p{margin:8px 0;font-size:inherit}
.journalTopics{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.journalTopics span{font-size:.75rem;padding:5px 9px;background:#edf1e8;border-radius:20px;color:#465b4d}
.journalLinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.journalLinks a{font-size:.82rem;color:#315d47;text-decoration:underline;text-underline-offset:3px}
.journalEmpty{padding:32px 20px;border:1px dashed #c4cec3;border-radius:12px;color:#5d6961;line-height:1.6}
.journalMore{margin-top:18px}
@media(max-width:600px){.journalEntry summary{align-items:flex-start;gap:12px;padding:16px}.journalEntry time{min-width:66px;max-width:66px}.journalBody{padding:0 16px 18px}.journalIntro h3{font-size:1.4rem}.journalMark{display:none}}
