.journal-section{position:relative;background:var(--page);padding:64px max(48px,calc((100% - 1184px)/2)) 64px;scroll-margin-top:0}
.journal-shell{max-width:960px;margin:0 auto}
.journal-legacy-anchor{position:absolute;top:0}
.journal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.journal-heading :is(h1,h2){font-size:28px;line-height:1.4}
.journal-heading>div>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0 0}
.journal-heading-note{font-size:11px;color:var(--accent);white-space:nowrap;margin-bottom:4px}
.journal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.journal-tabs{display:flex;flex-wrap:wrap;gap:6px}
.journal-tabs button{font:inherit;font-size:12px;padding:8px 12px;background:transparent;border:0;border-radius:8px;color:var(--muted);cursor:pointer}
.journal-tabs button[aria-pressed=true]{background:var(--blush);color:var(--accent)}
.journal-month-label{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:11px;color:var(--muted)}
.journal-month-label select{font:inherit;font-size:12px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--page);color:var(--ink)}
.journal-empty{text-align:center;padding:46px 20px 34px}
.journal-empty-mark{color:var(--accent);font-size:28px;margin-bottom:16px}
.journal-empty h3{font-size:18px;font-weight:500;margin:0 0 12px}
.journal-empty p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}
.journal-empty-topics{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;font-size:11px;color:var(--muted);margin-top:28px}
.journal-post{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}
.journal-date{padding-top:4px;color:var(--accent);text-align:center}
.journal-date strong{display:block;font-size:30px;font-weight:500;line-height:1.1}
.journal-date span{display:block;margin-top:7px;font-size:11px;line-height:1.6}
.journal-post-content{min-width:0}
.journal-author{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.journal-avatar{width:36px;height:36px;object-fit:cover;border-radius:9px}
.journal-author-name{font-size:13px;font-weight:500;color:var(--ink)}
.journal-kind{font-size:11px;color:var(--accent);margin-left:auto}
.journal-post h3{font-size:18px;line-height:1.6;font-weight:500;margin:0 0 12px;overflow-wrap:anywhere}
.journal-story{font-size:14px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.journal-story.is-collapsed{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.journal-read-more{display:block;font:inherit;font-size:12px;color:var(--accent);padding:6px 0;border:0;background:none;cursor:pointer;margin:8px 0 0}
.journal-flavor{padding:12px 16px;margin:16px 0 0;border-left:2px solid var(--accent);background:#f7dfe844;font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.journal-flavor strong{display:block;margin-bottom:4px;font-size:11px;color:var(--accent);font-weight:500}
.journal-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;max-width:660px}
.journal-photos.is-single{grid-template-columns:minmax(0,1fr);max-width:430px}
.journal-photos button{display:block;aspect-ratio:1;padding:0;border:0;border-radius:8px;overflow:hidden;background:var(--blush);cursor:pointer}
.journal-photos.is-single button{aspect-ratio:4/3}
.journal-photos img{display:block;width:100%;height:100%;object-fit:cover}
.journal-photo-dialog{padding:18px;background:var(--page);border:1px solid var(--line);border-radius:18px;width:min(900px,calc(100% - 28px));max-height:calc(100svh - 28px);margin:auto;overflow:auto;color:var(--ink)}
.journal-photo-dialog::backdrop{background:#251e2599}
.journal-photo-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.journal-photo-heading p{font-size:13px;margin:0}
.journal-photo-heading button{font:inherit;font-size:25px;color:var(--ink);border:0;background:var(--blush);border-radius:50%;width:36px;height:36px;cursor:pointer}
.journal-photo-dialog>img{display:block;max-width:100%;max-height:78svh;object-fit:contain;margin:0 auto}
.journal-member-benefits{margin:0 0 22px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff9fb}
.journal-benefits-heading{display:flex;align-items:baseline;gap:16px}.journal-benefits-heading h3{margin:0;font-size:14px;font-weight:500}
.journal-benefits-heading>span{font-size:11px;color:var(--muted)}
.journal-member-benefits .member-more-grid{margin-top:18px}
.journal-member-benefits>p{font-size:12px;color:var(--muted);line-height:1.8;margin:14px 0 0}
@media(max-width:600px){.journal-section{padding:36px 20px 46px}.journal-heading{display:block;margin-bottom:22px}.journal-heading :is(h1,h2){font-size:24px}.journal-heading-note{display:block;margin-top:14px}.journal-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.journal-tabs{gap:3px;width:100%}.journal-tabs button{padding:7px 8px;font-size:11px}.journal-month-label{align-self:flex-end}.journal-empty{padding:36px 0 18px}.journal-empty-topics{gap:10px 14px;font-size:10px}.journal-post{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:24px 0}.journal-date strong{font-size:26px}.journal-date span{font-size:10px}.journal-avatar{width:30px;height:30px}.journal-author{gap:8px}.journal-author-name{font-size:12px}.journal-kind{font-size:10px}.journal-post h3{font-size:16px}.journal-story{font-size:13px}.journal-photos{gap:5px}.journal-photos button{border-radius:5px}.journal-flavor{font-size:12px;padding:10px 12px}.journal-member-benefits{padding:16px}.journal-benefits-heading{display:block}.journal-benefits-heading>span{display:block;margin-top:7px}}

/* Fit the full English navigation label on small screens. */
@media(max-width:600px){.site-nav{gap:6px;padding:0 8px}.site-nav a,.site-nav button{font-size:clamp(10px,2.85vw,12px)}}

/* A compact homepage entrance; the complete journal lives on its own page. */
.journal-entry-section{position:relative;padding:40px max(48px,calc((100% - 1184px)/2));background:var(--page)}
.journal-entry-section>.member-shell{position:relative}
.journal-entry{margin:0;background:#fff;border-color:var(--line)}
.journal-entry .checkin-activity-copy>p:last-child{margin:0}
.journal-page-content{padding:16px 0 0}
.journal-heading h1{margin:0;font-weight:700}
@media(max-width:600px){.journal-entry-section{padding:28px 20px 32px}.journal-entry h3{font-size:19px}.journal-page-content{padding:16px 0 0}.journal-heading h1{font-size:24px}}
