/* Journal layout uses the same spacing rhythm as the rest of the site. */
.journal { max-width:1220px; padding-top:32px; padding-bottom:8px; }
.journal-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,330px); gap:32px; align-items:start; }
.journal-intro .eyebrow { margin:0 0 12px; font-size:.75rem; letter-spacing:.12em; }
.journal-intro h1 { margin:0 0 12px; font-size:clamp(2rem,5vw,3.2rem); }
.journal-intro>div>p:last-child { margin:0; }
.journal-storage { padding:20px; font-size:.9rem; }
.journal-storage p { margin:8px 0 0; }
.journal-storage details { margin-top:12px; }
.journal-storage [data-signin] { margin-top:12px; }
.journal-status { min-height:24px; margin:16px 0 24px; font-size:.9rem; color:var(--muted); }
.journal-status[data-error=true] { color:var(--strong); padding:12px 16px; border:1px solid var(--gold-2); border-radius:12px; }
.journal-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin-bottom:24px; }
.journal-toolbar>.field { flex:1 1 260px; max-width:380px; min-width:0; margin:0; }
.journal-backups { margin-left:auto; max-width:470px; }
.journal-backups>summary { cursor:pointer; padding:8px 0; }
.journal-backups[open] { flex-basis:100%; max-width:none; margin-left:0; padding:16px; background:var(--ink-2); border:1px solid var(--line); border-radius:16px; }
.journal-backups .btn-row { flex-wrap:wrap; margin-top:12px; }
.journal-backups p { margin:12px 0 0; }
#backup-text-box { margin-top:16px; }
.journal-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:24px; align-items:start; }
.journal-chart { position:static; padding:24px; min-width:0; background:var(--ink-2); }
.journal-chart h2 { margin:0 0 8px; font-size:1.4rem; }
.journal-chart #chart-caption { margin:0 0 12px; line-height:1.6; overflow-wrap:anywhere; }
.journal-chart svg { width:100%; height:auto; }
.journal-chart .wheel-dual { margin:0 -8px; }
.journal-chart #chart-details { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
.journal-chart>p:last-child { margin:16px 0 0; }
.journal-writing { min-width:0; }
.journal-writing>.card { padding:24px; }
.journal-writing>.card>h2 { margin:0 0 20px; }
.journal .field { min-width:0; }
.journal .input { width:100%; box-sizing:border-box; }
.journal textarea { font:inherit; line-height:1.5; resize:vertical; min-height:100px; }
.journal details>summary { cursor:pointer; color:var(--strong); line-height:1.5; }
.journal details .field { margin-top:12px; }
.journal .form>.btn-row { margin-top:4px; }
.journal .form>p:last-child { margin:0; }
.journal-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:16px; }
.journal-section-head h2 { margin:0; }
#entry-count { white-space:nowrap; }
.journal-past { margin-top:32px; }
.journal-filters { display:grid; grid-template-columns:minmax(0,1fr) 160px; gap:12px; margin-bottom:16px; }
#entry-list { display:grid; gap:12px; }
.journal-note { margin:0; padding:20px; min-width:0; }
.journal-note h3 { margin:8px 0; }
.journal-note .note-body { white-space:pre-wrap; overflow-wrap:anywhere; max-height:15em; overflow:auto; }
.journal-note .pill { margin:3px 5px 3px 0; display:inline-block; }
.journal-note .btn-row { margin-top:16px; }
.journal-note time { font-size:.85rem; color:var(--muted); }
.journal-footnote { max-width:1040px; margin:24px 0 0; line-height:1.6; }
.journal-empty { margin:0; padding:24px; border:1px dashed var(--line-2); border-radius:16px; color:var(--muted); }
.journal #chart-words { overflow-x:auto; padding-top:12px; }
.journal #chart-words table { font-size:.85rem; }
.journal-dialog { background:var(--ink-2); color:var(--strong); border:1px solid var(--line-2); border-radius:20px; padding:24px; width:min(520px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; box-sizing:border-box; }
.journal-dialog::backdrop { background:#060b1bbf; }
.journal-dialog .form { padding:0; }
.journal-dialog h2 { margin-top:0; }
.journal [hidden],.journal-dialog [hidden] { display:none!important; }
.journal button:focus-visible,.journal summary:focus-visible { outline:3px solid var(--gold-2); outline-offset:4px; }
@media(max-width:900px) {
  .journal-intro { grid-template-columns:1fr; gap:24px; }
  .journal-workspace { grid-template-columns:1fr; }
  .journal-chart #chart-wheel { max-width:560px; margin:auto; }
}
@media(max-width:600px) {
  .journal { padding-top:24px; }
  .journal-toolbar>.field { flex-basis:100%; max-width:none; }
  .journal-toolbar>button { flex:1 1 auto; }
  .journal-backups { flex-basis:100%; max-width:none; margin-left:0; }
  .journal-backups>summary { display:inline-flex; padding:4px 0; }
  .journal-workspace { gap:24px; }
  .journal-chart,.journal-writing>.card,.journal-dialog { padding:20px; }
  .journal-chart #chart-wheel { max-width:none; }
  .journal-filters { grid-template-columns:1fr; gap:16px; }
  .journal-empty { padding:20px; }
  .journal-section-head { align-items:center; gap:12px; }
}
.journal-backups>summary::after { content:'⌄'; margin-left:8px; }
.journal-backups[open]>summary::after { content:'⌃'; }
.journal-dialog { max-width:calc(100vw - 32px); }
