/* Dream interpretation follows the host site's palette and typography. */
html #dr-app{box-sizing:border-box;width:100%;max-width:1120px;min-height:0;margin:28px auto;padding:clamp(16px,4vw,42px);border:1px solid var(--px-line,#383247);border-radius:24px;color:var(--px-text,#f4ecdf);background:var(--px-bg,#111426);font:400 16px/1.65 var(--px-body,system-ui,sans-serif);overflow-wrap:anywhere}
html #dr-app *{box-sizing:border-box}html #dr-app [hidden]{display:none!important}html #dr-app :is(h1,h2,p,figure,dl,dd){margin:0}html #dr-app :is(h2,p,button){scroll-margin-top:110px}
html #dr-app h1{font:500 clamp(32px,4.4vw,56px)/1.12 var(--px-heading,Georgia,serif);letter-spacing:-.025em;text-align:left;color:var(--px-text,#f4ecdf);margin:16px 0}
html #dr-app h2{font:500 clamp(23px,2.8vw,32px)/1.3 var(--px-heading,Georgia,serif);text-align:left;color:var(--px-text,#f4ecdf);margin-bottom:12px}
html #dr-app p{text-align:left}html #dr-app .dr-eyebrow{font-size:11px;line-height:1.6;letter-spacing:.13em;text-transform:uppercase;font-weight:650;color:var(--px-accent,#e1bc72)}
html #dr-app .dr-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(22px,4vw,42px);align-items:center;margin-bottom:30px}html #dr-app .dr-hero>div{min-width:0}html #dr-app .dr-intro{font-size:17px;line-height:1.7;color:var(--px-muted,#c5bac9);max-width:35ch}
html #dr-app .dr-hero figure{border:1px solid var(--px-line,#383247);border-radius:80px 18px 18px 18px;overflow:hidden;min-width:0}html #dr-app .dr-hero img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}html #dr-app .dr-ornament{display:flex;gap:14px;align-items:center;color:var(--px-accent,#e1bc72);margin-top:20px}html #dr-app .dr-ornament:after{content:'';height:1px;width:90px;background:currentColor;opacity:.35}
html #dr-app .dr-panel{width:100%;padding:clamp(18px,3vw,30px);border:1px solid var(--px-line,#383247);border-radius:16px;background:var(--px-surface,#181321)}
html #dr-app .dr-hint{font-size:13px;color:var(--px-muted,#c5bac9);line-height:1.6;margin:0 0 12px}html #dr-app .dr-label{display:block;font:600 14px/1.5 var(--px-body,system-ui,sans-serif);color:var(--px-text,#f4ecdf);text-transform:none;letter-spacing:0;margin-bottom:9px}html #dr-app h2 label{font:inherit;color:inherit;text-transform:none;letter-spacing:inherit}
html #dr-app :is(textarea,select){display:block;width:100%;min-width:0;border:1px solid var(--px-line,#383247);border-radius:9px;background:var(--px-bg,#111426);color:var(--px-text,#f4ecdf);font:400 16px/1.6 var(--px-body,system-ui,sans-serif);padding:12px;resize:vertical;box-shadow:none}html #dr-app textarea::placeholder{color:var(--px-muted,#c5bac9);opacity:.8}html #dr-app #dr-dream{min-height:154px}html #dr-app #dr-context{min-height:86px}html #dr-app select{height:auto;min-height:48px}
html #dr-app .dr-count{text-align:right;font-size:11px;color:var(--px-muted,#c5bac9);margin:5px 0 18px}html #dr-app .dr-fields{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;align-items:start}html #dr-app .dr-fields>div{min-width:0}
html #dr-app button{display:inline-flex;gap:12px;align-items:center;justify-content:center;max-width:100%;min-height:48px;padding:12px 20px;border:1px solid var(--px-line,#383247);border-radius:9px;color:var(--px-text,#f4ecdf);background:transparent;font:600 15px/1.5 var(--px-body,system-ui,sans-serif);text-align:center;white-space:normal;cursor:pointer}html #dr-app button.dr-primary{background:var(--px-accent,#e1bc72);color:#19151d;border-color:var(--px-accent,#e1bc72)}html #dr-app button:hover{filter:brightness(1.08)}html #dr-app button:disabled{opacity:.6;cursor:wait}html #dr-app :is(button,textarea,select,summary):focus-visible{outline:2px solid var(--px-accent,#e1bc72);outline-offset:4px}
html #dr-app .dr-validation{border-left:3px solid var(--px-accent,#e1bc72);padding:8px 12px;margin:0 0 16px;color:var(--px-text,#f4ecdf)}html #dr-app [aria-invalid=true]{outline:2px solid var(--px-accent,#e1bc72)}
html #dr-app .dr-method{border-top:1px solid var(--px-line,#383247);padding-top:16px;margin-top:22px}html #dr-app summary{font:600 14px/1.6 var(--px-body,system-ui,sans-serif);color:var(--px-accent,#e1bc72);padding:6px 0;cursor:pointer}html #dr-app details p{font-size:14px;color:var(--px-muted,#c5bac9);margin-top:10px}
html #dr-app .dr-wait{padding:46px 24px;text-align:center}html #dr-app .dr-wait :is(h2,p){text-align:center}html #dr-app .dr-moon{font:500 70px/1 Georgia,serif;color:var(--px-accent,#e1bc72);margin-bottom:22px;animation:dr-glow 2.8s ease-in-out infinite alternate}@keyframes dr-glow{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(-3px)}}
html #dr-app .dr-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}html #dr-app #dr-error-text{white-space:pre-line}
html #dr-app.dr-has-result .dr-hero{display:none}html #dr-app .dr-result-header{display:flex;align-items:center;gap:24px;margin-bottom:26px}html #dr-app .dr-result-header img{display:block;flex:0 0 160px;width:160px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}html #dr-app .dr-result-header h2{margin:8px 0 0}html #dr-app .dr-answer p{font-size:clamp(16px,1.5vw,18px);line-height:1.85;color:var(--px-text,#f4ecdf);text-align:left;max-width:76ch}html #dr-app .dr-answer p+p{margin-top:1.2em}html #dr-app .dr-note{font-size:12px;color:var(--px-muted,#c5bac9);margin:14px 0 24px}
html #dr-app .dr-original{border-top:1px solid var(--px-line,#383247);padding-top:14px;margin-bottom:14px}html #dr-app .dr-original dl{margin:12px 0 20px}html #dr-app dt{font-weight:600;font-size:13px;color:var(--px-accent,#e1bc72);margin-top:14px}html #dr-app dd{font-size:14px;white-space:pre-wrap;color:var(--px-muted,#c5bac9)}html #dr-app .dr-privacy{max-width:74ch;margin-bottom:20px}
@media(max-width:640px){html #dr-app{margin:16px auto}html #dr-app .dr-hero{grid-template-columns:1fr;gap:20px}html #dr-app .dr-hero figure{max-height:240px;border-radius:38px 12px 12px 12px}html #dr-app .dr-hero img{max-height:240px}html #dr-app .dr-intro{max-width:none}html #dr-app .dr-ornament{display:none}html #dr-app .dr-fields{grid-template-columns:1fr;gap:18px}html #dr-app .dr-result-header{align-items:center;gap:14px}html #dr-app .dr-result-header img{flex-basis:80px;width:80px}html #dr-app .dr-result-header .dr-eyebrow{font-size:10px;letter-spacing:.08em}html #dr-app .dr-result-header h2{font-size:24px}html #dr-app .dr-actions{flex-direction:column}html #dr-app #dr-submit{width:100%}}
@media(prefers-reduced-motion:reduce){html #dr-app .dr-moon{animation:none}}
