.dream-page { padding: 20px 22px 32px; }
.dream-back { margin: 0 0 18px; padding: 10px 0; border: 0; background: transparent; color: #806398; font-size: 14px; }
.dream-card,.dream-reading { padding: 24px; border: 1px solid #eae2f4; border-radius: 20px; background: #fff; }
.dream-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.dream-heading h2 { margin: 0 0 10px; color: #3e2b51; font-size: 26px; }
.dream-heading p { color: #9a88a9; font-size: 13px; line-height: 1.8; }
.dream-moon { flex: 0 0 52px; display: grid; place-items: center; height: 52px; border-radius: 17px; background: #f1eafa; color: #9568c6; font-size: 38px; }
.dream-page fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.dream-page label { display: block; margin: 18px 0 10px; color: #5c466f; font-size: 14px; }
.dream-page label:first-child { margin-top: 0; }
.dream-page textarea { box-sizing: border-box; width: 100%; margin: 0; padding: 14px; border: 1px solid #e6dcef; border-radius: 12px; background: #fcfaff; color: #493953; font-size: 15px; line-height: 1.8; }
.dream-count { margin: 7px 0 0; text-align: right; color: #b0a4bb; font-size: 11px; }
.dream-primary { width: 100%; min-height: 48px; margin-top: 22px; padding: 12px; border: 0; border-radius: 25px; background: linear-gradient(100deg,#6430cc,#9462d1); color: #fff; font-size: 15px; font-weight: 600; }
.dream-primary:disabled { background: #c8b9da; cursor: default; }
.dream-note { margin-top: 14px; color: #b2a3bd; font-size: 11px; line-height: 1.8; }
.dream-reading { margin-top: 20px; }
.dream-reading h3 { margin: 0 0 20px; color: #74518e; font-size: 18px; }
.dream-message { margin-top: 14px; padding: 18px; border-radius: 12px; background: #faf7fd; }
.dream-message.user { margin-left: 20px; background: #f0eaf7; }
.dream-speaker { color: #a38bb4; font-size: 11px; }
.dream-message p { margin-top: 8px; white-space: pre-wrap; overflow-wrap: anywhere; color: #4a3b57; font-size: 15px; line-height: 1.95; }
.dream-suggestions { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0; }
.dream-suggestions button { padding: 8px 12px; border: 1px solid #e5d9ee; border-radius: 16px; background: #fff; color: #936eae; text-align: left; font-size: 12px; line-height: 1.6; }
.dream-pending,.dream-error { margin-top: 18px; padding: 14px 16px; border-radius: 12px; font-size: 13px; line-height: 1.8; }
.dream-pending { background: #f0e8fa; color: #87629f; }
.dream-error { background: #fff0ef; color: #ad5a59; }
.dream-page :focus-visible { outline: 2px solid #673acb; outline-offset: 3px; }
@media(max-width:480px) { .dream-page { padding: 16px 12px 28px; } .dream-card,.dream-reading { padding: 20px 16px; border-radius: 16px; } .dream-message { padding: 15px; } }
