/* PAOPAO DREAM / ARCHIVE FOLDER
   Shared with HOME: paper, handwriting, ink and tape palette.
   Not shared: HOME's hero image, serial sections, two-column ABOUT and link rows.
   Scope all rules to DREAM only. */
body.dream-memo { background-color:var(--desk); color:var(--ink); }
body.dream-memo .site { width:min(100% - 64px, 1180px); }
body.dream-memo .site-main { padding-bottom:86px; }
body.dream-memo .site-nav a[href="#dream-home"] { display:none; }

/* Archive cover: typographic folder opening + tucked-in letter. */
body.dream-memo .dream-front {
  padding:clamp(40px,6.4vw,85px) clamp(26px,6vw,70px) clamp(44px,6.2vw,76px);
  background:var(--paper);
  position:relative; overflow:hidden;
  border-bottom:1px solid var(--paper-edge-dark);
}
body.dream-memo .dream-front::before {
  content:""; position:absolute; width:175px; height:175px;
  right:-55px; top:-79px; border-radius:50%;
  border:32px solid rgba(70,89,122,.035);pointer-events:none;
}
body.dream-memo .dream-front-inner {
  display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.88fr);
  gap:clamp(24px,5vw,75px); align-items:center; max-width:1100px;margin:auto;
}
body.dream-memo .dream-front-identity { min-width:0; position:relative; }
body.dream-memo .dream-front-overline {
  display:block; font:700 .68rem/1.6 var(--font-sans);
  letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft);
}
body.dream-memo .dream-front-number {
  margin:18px 0 -8px; font:1.7rem/1 var(--font-hand); color:var(--pen);
}
body.dream-memo .dream-front-title {
  margin:0; font:700 clamp(3.5rem,8.7vw,7.5rem)/1.13 var(--font-display);
  letter-spacing:-.05em; color:var(--ink); overflow-wrap:anywhere;
}
body.dream-memo .dream-front-dot { color:var(--pen); }
body.dream-memo .dream-front-stamp {
  display:inline-block; margin:3px 0 0 6px; padding:2px 13px 3px;
  border:1px solid var(--paper-edge-dark);border-radius:100px;
  transform:rotate(-2deg);font:1.32rem/1.1 var(--font-hand);color:var(--pen);
}
body.dream-memo .dream-front-letter {
  position:relative; max-width:440px; padding:44px clamp(24px,3vw,39px) 29px;
  background:var(--paper-note); border:1px solid var(--paper-edge);
  background-image:var(--grain);
  box-shadow:5px 5px 0 rgba(204,194,175,.2), 13px 16px 24px -20px #463b29a8;
  transform:rotate(1.1deg);
}
body.dream-memo .dream-front-tab {
  position:absolute;top:-24px;right:20px;padding:7px 17px;
  background:#d7d7cd;border:1px solid var(--paper-edge-dark);border-bottom:0;
  border-radius:8px 8px 0 0;font:.61rem/1.2 var(--font-sans);
  font-weight:700;letter-spacing:.16em;color:#5e655e;
}
body.dream-memo .dream-front-salutation {
  margin:0 0 14px;font:1.7rem/1 var(--font-hand);color:var(--pen);
}
body.dream-memo .dream-front-copy { font:.93rem/1.95 var(--font-display); word-break:keep-all; }
body.dream-memo .dream-front-actions { display:flex;flex-wrap:wrap;gap:10px 19px;margin-top:24px;padding-top:19px;border-top:1px dashed var(--rule-strong); }
body.dream-memo .dream-front-actions a {
  color:var(--pen);font:.8rem/1.5 var(--font-display);
  text-decoration:underline dotted;text-underline-offset:5px;
}
body.dream-memo .dream-front-actions a:hover { text-decoration-style:solid; }

/* Folder contents differ from HOME: fixed-width index rail + flowing pages. */
body.dream-memo .dream-archive-layout {
  display:grid; grid-template-columns:minmax(175px,225px) minmax(0,1fr);
  gap:clamp(30px,4.5vw,62px);padding:clamp(48px,6vw,78px) clamp(26px,6vw,70px) 0;
  max-width:1180px; margin:auto; align-items:start;
}
body.dream-memo .dream-index {position:sticky;top:calc(var(--header-height) + 24px);min-width:0;}
body.dream-memo .dream-index-paper {
  position:relative; padding:27px 16px 25px 28px;
  background:#f2ecdf; border:1px solid var(--paper-edge-dark);
  box-shadow:3px 4px 0 #dfd6c6;
}
body.dream-memo .dream-index-paper::before {
  content:"";position:absolute;top:20px;bottom:20px;left:8px;width:7px;
  background:radial-gradient(circle at 3px 3px,var(--desk) 2.5px,transparent 3px) 0 0/7px 30px repeat-y;
}
body.dream-memo .dream-index-label {font:.65rem/1.5 var(--font-sans);font-weight:700;letter-spacing:.2em;color:var(--pen);}
body.dream-memo .dream-index-caption {margin:15px 0 24px;font:700 1.1rem/1.6 var(--font-display);}
body.dream-memo .dream-index-nav {display:grid;gap:0;border-top:1px solid var(--rule-strong);}
body.dream-memo .dream-index-nav a {
  display:flex;align-items:baseline;gap:13px;padding:13px 0;
  font: .86rem/1.3 var(--font-display);border-bottom:1px solid var(--rule-strong);
}
body.dream-memo .dream-index-nav a span {color:var(--pen);font:1.4rem/1 var(--font-hand);}
body.dream-memo .dream-index-nav a:hover {color:var(--pen);padding-left:3px;}
body.dream-memo .dream-index-sign {margin:24px 0 0;color:var(--ink-soft);font:1.45rem/1 var(--font-hand);text-align:right;}
body.dream-memo .dream-archive-pages {display:grid;gap:34px;min-width:0;}
body.dream-memo .dream-archive-page {min-width:0;scroll-margin-top:calc(var(--header-height) + 24px);}

/* Letter, vertically ruled note, and album index each use a different composition. */
body.dream-memo .dream-letter {
  position:relative;padding:clamp(26px,4vw,46px);
  border:1px solid var(--paper-edge);background:var(--paper-note);
  background-image:var(--grain);box-shadow:0 12px 26px -23px #51433099;
}
body.dream-memo .dream-letter::before {
  content:"";position:absolute;top:-10px;left:clamp(25px,8vw,90px);
  width:90px;height:20px;background:var(--tape);transform:rotate(-3deg);
}
body.dream-memo .dream-page-topline {display:flex;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--paper-edge-dark);color:var(--ink-soft);font:.62rem/1.2 var(--font-sans);font-weight:700;letter-spacing:.13em;}
body.dream-memo .dream-letter-content {padding:25px 0 0;}
body.dream-memo .dream-letter-hand {font:1.8rem/1 var(--font-hand);color:var(--pen);}
body.dream-memo .dream-letter-title {margin:9px 0 24px;font:700 clamp(1.8rem,3vw,2.5rem)/1.45 var(--font-display);letter-spacing:-.02em;}
body.dream-memo .dream-letter-body {
  max-width:660px;white-space:pre-line;word-break:keep-all;
  font:.94rem/2.18 var(--font-display);
  background:linear-gradient(transparent calc(100% - 1px),var(--rule) 0) 0 0/100% 2.18em;
}
body.dream-memo .dream-letter-afterword {display:grid;grid-template-columns:125px minmax(0,1fr);gap:18px;margin-top:32px;padding:22px 0 0;border-top:1px dashed var(--rule-strong);}
body.dream-memo .dream-letter-afterword-label {font:.67rem/1.8 var(--font-sans);font-weight:700;letter-spacing:.08em;color:var(--pen);}
body.dream-memo .dream-letter-afterword p {font:.87rem/1.9 var(--font-display);white-space:pre-line;word-break:keep-all;}
body.dream-memo .dream-letter-signature {margin:26px 0 0;text-align:right;color:var(--pen);font:1.6rem/1 var(--font-hand);}

body.dream-memo .dream-care {
  position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);
  border:1px solid #d9d1c0;background:#f4eedf;overflow:hidden;
}
body.dream-memo .dream-care-margin {display:flex;align-items:flex-start;justify-content:center;padding-top:30px;background:rgba(70,89,122,.055);border-right:1px dashed var(--rule-strong);}
body.dream-memo .dream-care-margin span {display:flex;align-items:center;justify-content:center;width:39px;height:39px;border:2px solid var(--pen);border-radius:50%;font:700 1.3rem/1 var(--font-display);color:var(--pen);}
body.dream-memo .dream-care-main {padding:clamp(25px,3.6vw,42px);min-width:0;}
body.dream-memo .dream-care-eyebrow {font:1.6rem/1 var(--font-hand);color:var(--pen);}
body.dream-memo .dream-care h2 {margin:10px 0 20px;font:700 clamp(1.35rem,2.6vw,1.95rem)/1.4 var(--font-display);}
body.dream-memo .dream-care-en {font:700 .62rem/1 var(--font-sans);color:var(--ink-soft);letter-spacing:.15em;white-space:nowrap;}
body.dream-memo .dream-care-description {padding:10px 0;font:.91rem/2 var(--font-display);word-break:keep-all;white-space:pre-line;}
body.dream-memo .dream-care-footnote {margin-top:19px;padding-top:13px;border-top:1px solid var(--paper-edge-dark);font:.73rem/1.8 var(--font-display);color:var(--ink-soft);}

body.dream-memo .dream-collection {margin-top:16px;}
body.dream-memo .dream-collection-header {display:flex;justify-content:space-between;align-items:end;gap:18px 30px;padding-bottom:20px;border-bottom:2px solid var(--ink);}
body.dream-memo .dream-collection-eyebrow {font:.63rem/1.4 var(--font-sans);font-weight:700;letter-spacing:.17em;color:var(--pen);}
body.dream-memo .dream-collection h2 {margin:6px 0 0;font:700 clamp(1.6rem,3vw,2.25rem)/1.35 var(--font-display);}
body.dream-memo .dream-collection h2 span {font:.65em/1 var(--font-hand);color:var(--pen);}
body.dream-memo .dream-collection-lead {font:.75rem/1.8 var(--font-display);color:var(--ink-soft);word-break:keep-all;}
body.dream-memo .dream-content {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:27px;counter-reset:dream-entry;}
body.dream-memo .dream-card {position:relative;min-width:0;display:flex;flex-direction:column;overflow:visible;border:1px solid var(--paper-edge-dark);background:var(--paper-note);box-shadow:0 6px 13px -11px #4b392c77;counter-increment:dream-entry;}
body.dream-memo .dream-card::before {content:"FILE / 0" counter(dream-entry);position:absolute;z-index:1;top:11px;left:12px;padding:4px 10px;background:#fffdf8d9;border:1px solid var(--paper-edge-dark);color:var(--pen);font:.59rem/1.3 var(--font-sans);font-weight:700;letter-spacing:.09em;}
body.dream-memo .dream-card-image {width:100%;aspect-ratio:4/3;min-height:0;max-height:340px;overflow:hidden;background:#e5dccf;}
body.dream-memo .dream-card-image img {display:block;width:100%;height:100%;object-fit:cover;}
body.dream-memo .dream-card-image:empty {background:linear-gradient(135deg,transparent 49%,#d1c7b8 49.5%,#d1c7b8 50%,transparent 50.5%) center/95px 95px no-repeat,#eae3d8;}
body.dream-memo .dream-card-body {display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:20px 23px 22px;min-width:0;}
body.dream-memo .dream-card-label {color:var(--pen);font:1.3rem/1 var(--font-hand);margin:0 0 7px;}
body.dream-memo .dream-card-title {margin:0 0 13px;font:700 clamp(1.22rem,2vw,1.65rem)/1.4 var(--font-display);overflow-wrap:anywhere;}
body.dream-memo .dream-card-title a:hover {text-decoration:underline;text-decoration-color:var(--pen);text-underline-offset:5px;}
body.dream-memo .dream-card-description {margin:0;color:var(--ink-soft);font:.83rem/1.85 var(--font-display);word-break:keep-all;}
body.dream-memo .dream-card-link {margin-top:auto;padding-top:20px;color:var(--pen);font:.65rem/1.2 var(--font-sans);font-weight:700;letter-spacing:.13em;border-bottom:1px dotted var(--pen);padding-bottom:5px;}
body.dream-memo .dream-collection-end {margin-top:27px;text-align:center;color:var(--ink-soft);font:1.35rem/1 var(--font-hand);}

/* CMS sections remain styled, but the HOME-specific headers are not reused. */
body.dream-memo .paopao-added-section {margin:38px clamp(26px,6vw,70px) 0;padding:30px 0;border-top:1px dashed var(--rule-strong);background:none;}
body.dream-memo .paopao-added-section[data-layout="card"] .paopao-added-inner {border:1px solid var(--paper-edge-dark);background:var(--paper-note);}

@media(max-width:900px) {
  body.dream-memo .dream-front-inner {grid-template-columns:minmax(0,1fr);gap:48px;}
  body.dream-memo .dream-front-letter {max-width:620px;margin-left:9px;}
  body.dream-memo .dream-archive-layout {grid-template-columns:minmax(145px,180px) minmax(0,1fr);gap:24px;padding-left:28px;padding-right:28px;}
  body.dream-memo .dream-collection-header {display:block;}
  body.dream-memo .dream-collection-lead {margin-top:12px;}
  body.dream-memo .dream-content {grid-template-columns:minmax(0,1fr);}
}
@media(max-width:680px) {
  body.dream-memo .site {width:min(100% - 20px,1180px);margin:12px auto 24px;}
  body.dream-memo .dream-front {padding:52px 22px 43px;}
  body.dream-memo .dream-front-title {font-size:clamp(3.5rem,12vw,5.5rem);}
  body.dream-memo .dream-front-letter {transform:none;margin:0;}
  body.dream-memo .dream-archive-layout {display:block;padding:30px 20px 0;}
  body.dream-memo .dream-index {position:static;margin-bottom:26px;}
  body.dream-memo .dream-index-paper {padding:19px 20px 18px 26px;}
  body.dream-memo .dream-index-paper::before {display:none;}
  body.dream-memo .dream-index-caption, body.dream-memo .dream-index-sign {display:none;}
  body.dream-memo .dream-index-nav {display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:8px;border:0;}
  body.dream-memo .dream-index-nav a {padding:6px 0;font-size:.77rem;border:0;gap:5px;}
  body.dream-memo .dream-index-nav a span {font-size:1.2rem;}
  body.dream-memo .dream-archive-pages {gap:26px;}
  body.dream-memo .dream-letter-afterword {grid-template-columns:minmax(0,1fr);gap:8px;}
  body.dream-memo .dream-care {grid-template-columns:52px minmax(0,1fr);}
  body.dream-memo .dream-care-margin span {width:29px;height:29px;font-size:1rem;}
  body.dream-memo .dream-care-main {padding:24px 18px;}
  body.dream-memo .dream-care-en {display:block;margin-top:5px;}
  body.dream-memo .dream-content {gap:18px;}
  body.dream-memo .paopao-added-section {margin-left:20px;margin-right:20px;}
}
@media(max-width:420px) {
  body.dream-memo .site-nav {gap:6px;}
  body.dream-memo .site-nav a {font-size:.6rem;letter-spacing:.015em;}
  body.dream-memo .dream-front-overline {font-size:.61rem;letter-spacing:.11em;}
  body.dream-memo .dream-front-title {font-size:clamp(3rem,12vw,4.2rem);}
  body.dream-memo .dream-front-letter {padding:42px 19px 22px;}
  body.dream-memo .dream-front-actions {gap:8px;}
  body.dream-memo .dream-index-nav {gap:3px 9px;}
  body.dream-memo .dream-index-nav a {font-size:.69rem;}
  body.dream-memo .dream-letter {padding:28px 18px;}
  body.dream-memo .dream-page-topline {font-size:.53rem;}
  body.dream-memo .dream-card-body {padding:18px 17px;}
}
@media(prefers-reduced-motion:reduce) {body.dream-memo * {scroll-behavior:auto;}}
