/* Dream Journal: shared foundations, no page-specific layout. */
:root {
  --dream-bg:#F8F3EA; --dream-paper:#FFFDF7; --dream-paper-soft:#F6EDDF;
  --dream-pink:#EFA4B4; --dream-rose:#D9788F; --dream-blue:#AFC3E8;
  --dream-lavender:#B9BCE5; --dream-yellow:#F4DA79; --dream-green:#C8D59A;
  --dream-sketch:#A98573; --dream-ink:#514746; --dream-muted:#8D8180;
  --dream-tertiary:#B3A8A2; --dream-accent-ink:#9D435E;
  --dream-border:rgba(154,124,109,.20); --dream-border-strong:rgba(154,124,109,.34);
  --dream-radius-sm:8px; --dream-radius-md:12px; --dream-radius-lg:16px; --dream-radius-xl:20px;
  --dream-shadow-sm:0 4px 16px rgba(103,75,67,.06); --dream-shadow-md:0 8px 28px rgba(103,75,67,.08);
  --dream-page-x:16px;
}
.dream-page { color:var(--dream-ink); background:var(--dream-bg); font-family:system-ui,sans-serif; line-height:1.6; }
.dream-page::before { content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.025; background-image:repeating-linear-gradient(0deg,var(--dream-sketch) 0 1px,transparent 1px 4px); }
.dream-paper,.dream-sheet,.dream-dialog { border:1px solid var(--dream-border); border-radius:var(--dream-radius-lg); background:var(--dream-paper); box-shadow:var(--dream-shadow-sm); }
.dream-section { padding-block:20px; }
.dream-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dream-eyebrow { color:var(--dream-accent-ink); font-size:10px; font-weight:700; letter-spacing:.18em; }
.dream-button { display:inline-flex; min-height:44px; padding:10px 18px; align-items:center; justify-content:center; gap:8px; border:1px solid var(--dream-border-strong); border-radius:var(--dream-radius-md); font:inherit; cursor:pointer; text-decoration:none; }
.dream-button--primary { background:var(--dream-rose); color:var(--dream-ink); }
.dream-button--secondary { background:var(--dream-paper); color:var(--dream-ink); }
.dream-chip,.dream-tag,.dream-status { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border:1px solid var(--dream-border); border-radius:999px; background:var(--dream-paper-soft); color:var(--dream-ink); font-size:12px; }
.dream-tabs { display:flex; gap:6px; overflow-x:auto; padding:5px; border-radius:var(--dream-radius-md); background:var(--dream-paper-soft); }
.dream-tabs > * { flex-shrink:0; }
.dream-stat { display:grid; gap:4px; padding:12px 16px; }
.dream-divider { border:0; border-top:1px solid var(--dream-border); }
.dream-sheet,.dream-dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px); overflow:auto; overscroll-behavior:contain; }
.dream-empty { padding:32px 16px; text-align:center; color:var(--dream-muted); }
.dream-note { padding:16px; border-left:3px solid var(--dream-lavender); background:var(--dream-paper-soft); }
.dream-polaroid { padding:6px 6px 16px; border:1px solid var(--dream-border); background:var(--dream-paper); box-shadow:var(--dream-shadow-md); }
.dream-tape { background:var(--dream-yellow); opacity:.65; transform:rotate(-5deg); }
.dream-sticker { object-fit:contain; pointer-events:none; }
.dream-page :focus-visible { outline:2px solid var(--dream-accent-ink); outline-offset:3px; }
.dream-page :is(input,textarea,select) { scroll-margin-block:90px; }
@media(prefers-reduced-motion:reduce) { .dream-page { scroll-behavior:auto; } }
