.journal-page{position:fixed;inset:0;z-index:260;display:flex;flex-direction:column;background:var(--nc-bg,#fffbee);color:var(--nc-text,#3e5260);font-family:var(--font-cn,serif)}.journal-page.hidden{display:none}.journal-body{flex:1;min-height:0;overflow:auto;width:min(100%,680px);box-sizing:border-box;margin:0 auto;padding:20px max(16px,calc((100vw - 680px)/2)) 50px;background-color:#fffdf6;background-image:linear-gradient(rgba(207,188,173,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(207,188,173,.12) 1px,transparent 1px);background-size:22px 22px}.journal-page button{cursor:pointer;font:inherit;color:inherit}.journal-intro{text-align:center;margin:4px 0 24px}.journal-intro small,.journal-day-head small{font:italic 11px var(--font-en),serif;letter-spacing:3px;color:#b88a96}.journal-intro p{margin:9px 0;font:italic 14px/1.5 var(--font-en),var(--font-cn);color:var(--nc-muted)}.journal-month-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;padding:12px 4px;border-bottom:1px solid #d8bfc0}.journal-month-nav strong{font:italic 24px/1 var(--font-en),serif;font-weight:400;color:#5d4b51}.journal-month-nav button{border:1px solid #d8bfc0;border-radius:50%;background:rgba(255,255,255,.82);color:#8d6874;width:40px;height:40px;font-size:25px}.journal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #d8c9c6;border-left:1px solid #d8c9c6;background:rgba(255,255,255,.76);box-shadow:0 8px 24px rgba(99,75,77,.06)}.journal-week{text-align:center;padding:12px 0;font-size:12px;opacity:.6}.journal-date{min-height:58px;border:0;border-right:1px solid #eadfda;border-bottom:1px solid #eadfda;background:transparent;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 1px}.journal-date small{font-size:9px;color:#b88a96;min-height:12px}.journal-date.today>span{text-decoration:underline;text-underline-offset:4px}.journal-date.selected{background:rgba(222,178,184,.2);box-shadow:inset 0 0 0 1px #b88a96}.journal-day-head{display:flex;justify-content:space-between;align-items:center;margin:30px 0 10px;padding:0 3px}.journal-day-head h2{font:italic 24px/1.2 var(--font-en),serif;color:#5d4b51;margin:8px 0}.journal-day-head button,.journal-form-actions button{border:1px solid #d8bfc0;border-radius:12px;background:rgba(255,255,255,.8);padding:10px 14px}.journal-empty{padding:28px 12px;text-align:center;opacity:.6;font-size:14px}.journal-entry{padding:18px;margin:16px 0;background:rgba(255,255,255,.87);border:1px solid #e4d5d1;border-radius:3px 18px 18px 18px;box-shadow:0 8px 22px rgba(99,75,77,.06)}.journal-entry.note{background:rgba(252,245,231,.9);border-left:3px solid #c7a65a;border-radius:3px 18px 18px 18px}.journal-entry.ai{border-left:3px solid #b88a96}.journal-entry-meta{display:flex;justify-content:space-between;font-size:12px;gap:10px}.journal-entry-meta span{opacity:.65}.journal-entry p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:14px 0}.journal-entry img{max-height:360px;max-width:100%;border-radius:5px}.journal-entry footer{display:flex;align-items:center;gap:12px;font-size:12px;opacity:.8}.journal-entry footer span{flex:1}.journal-entry footer button{background:none;border:0;padding:8px 0}.journal-form{margin:22px 0;background:rgba(255,255,255,.92);border:1px solid #d8bfc0;border-radius:16px;padding:18px;scroll-margin-top:15px}.journal-form.hidden{display:none}.journal-form label{display:block;font-size:13px;margin:12px 0}.journal-form input,.journal-form select,.journal-form textarea{display:block;box-sizing:border-box;width:100%;min-width:0;margin-top:6px;border:1px solid #ead5d4;border-radius:8px;padding:10px;background:transparent;color:inherit;font:inherit}.journal-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.journal-form-actions{display:flex;justify-content:flex-end;gap:10px}.journal-page button:disabled{opacity:.5;cursor:wait}#journalStatus{font-size:12px;text-align:center}
@media(min-width:760px){.journal-body{width:min(100%,940px);padding-left:24px;padding-right:24px;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-content:start;column-gap:28px}.journal-intro,.journal-month-nav{grid-column:1/-1}.journal-grid{grid-column:1;grid-row:3}.journal-day-head{grid-column:2;grid-row:3;margin-top:0}.journal-body>#journalStatus,.journal-body>#journalEntries,.journal-body>#journalForm{grid-column:2}.journal-body>#journalStatus{grid-row:3;margin-top:72px}.journal-body>#journalEntries{grid-row:3;margin-top:98px}.journal-body>#journalForm{grid-row:4;margin-top:22px}.journal-entry{margin:0 0 14px}.journal-day-head h2{font-size:22px}}
@media(max-width:759px){.journal-body{width:100%}}

/* Journal surfaces inherit every active global skin.  The paper grid keeps its
   character while its colors follow --nc-* when the user changes theme. */
.journal-page{background:var(--nc-bg);color:var(--nc-text)}
.journal-body{background-color:var(--nc-bg);background-image:linear-gradient(color-mix(in srgb,var(--nc-line) 28%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--nc-line) 28%,transparent) 1px,transparent 1px)}
.journal-intro small,.journal-day-head small{color:var(--nc-accent)}
.journal-intro p{color:var(--nc-muted)}
.journal-month-nav{border-color:var(--nc-line)}
.journal-month-nav strong,.journal-day-head h2,.journal-form h3{color:var(--nc-text)}
.journal-month-nav button,.journal-day-head button,.journal-form-actions button{border-color:var(--nc-line);background:var(--nc-card);color:var(--nc-text)}
.journal-grid{border-color:var(--nc-line);background:color-mix(in srgb,var(--nc-card) 86%,transparent);box-shadow:var(--nc-shadow)}
.journal-date{border-color:color-mix(in srgb,var(--nc-line) 74%,transparent)}
.journal-date small{color:var(--nc-accent)}
.journal-date.selected{background:color-mix(in srgb,var(--nc-accent) 18%,transparent);box-shadow:inset 0 0 0 1px var(--nc-accent)}
.journal-entry{background:var(--nc-card);border-color:var(--nc-line);box-shadow:var(--nc-shadow)}
.journal-entry.note{background:color-mix(in srgb,var(--nc-accent-soft) 72%,var(--nc-card));border-left-color:var(--nc-accent)}
.journal-entry.ai{border-left-color:var(--nc-accent)}
.journal-entry footer button{color:var(--nc-text)}
.journal-form{background:var(--nc-card);border-color:var(--nc-line)}
.journal-form input,.journal-form select,.journal-form textarea{border-color:var(--nc-line);color:var(--nc-text)}
