/* Dreamverse — approved Dream Universe artwork, shared by website and app. */
.dv-site,.dw-app,.dw-install-sheet{--dv-obsidian:#080a0d;--dv-graphite:#171b22;--dv-platinum:#f4f5f7;--dv-lilac:#d4c6f1;--dv-muted:#b8b5c4;--dv-border:#d4c6f12b;--dv-art:url('/dreamverse/dream-universe.webp');--dv-cyan:#52b7d8;--dv-violet:#847aca;--dv-rose:#c777a2;--dv-amber:#cea46d;--dv-serif:'Cormorant Garamond',Georgia,serif}
.dv-site{--ink:var(--dv-obsidian);--surface:#101318;--text:var(--dv-platinum);--muted:var(--dv-muted);--lavender:var(--dv-lilac);--line:var(--dv-border);--serif:var(--dv-serif);background:var(--ink)}
.dv-site .header{background:#080a0d;border:0}.dv-site .brand img{filter:none;object-fit:contain;flex-shrink:0}
.dv-site .hero{background:var(--dv-art) center/cover no-repeat,var(--ink)}
.dv-site .hero:before{background:linear-gradient(90deg,#080a0d38,transparent 65%)}
.dv-site .hero-inner{min-height:710px;grid-template-columns:46% 54%}.dv-site .hero-copy{padding:50px 0 80px}
.dv-site .hero h1{font-family:var(--dv-serif);font-size:clamp(48px,4.8vw,68px);font-weight:300;line-height:1.03;letter-spacing:-1.3px}
.dv-site .hero h1 em{font-family:inherit;font-size:.84em;line-height:1.08;font-weight:300;margin-top:40px;max-width:460px;letter-spacing:-.9px}
.dv-site .hero-description{font-size:17px;max-width:450px;margin:35px 0 30px}.dv-site .button{background:linear-gradient(115deg,#f0eaf8,#d4c6f1);color:#18131f;font-weight:400;box-shadow:0 0 28px #d4c6f10c}.dv-site .button.secondary{background:#171b2290;color:var(--text);border-color:var(--line)}
.dv-site .section-heading h2,.dv-site .closing h2{font-weight:300}.dv-site .method{background:#111419}.dv-site .method-copy{color:#dedce4}.dv-site .install-panel{background:linear-gradient(#080a0de8,#080a0d91),var(--dv-art) bottom right/cover;border-color:var(--line)}
.dv-site .mobile-menu nav{background:#171b22}.dv-site .step-icon{background:#171b2255;border-color:#d4c6f14d}.dv-site .closing{background:linear-gradient(#080a0de8,#080a0dca),var(--dv-art) center bottom/cover}
.dv-site .phones{height:620px;margin-right:0;position:relative;pointer-events:none;user-select:none}
.dv-device{position:absolute;top:85px;width:34%;height:435px;border:2px solid #978d9f;border-radius:29px;background:linear-gradient(#080a0dcc,#080a0d66),var(--dv-art) 67% bottom/auto 100%,#080a0d;box-shadow:inset 0 0 0 3px #181b22,0 25px 28px #0008;padding:14px 14px 25px;text-align:center;overflow:hidden;color:#f4f5f7}
.dv-device:before{content:'';position:absolute;top:0;left:30%;width:40%;height:14px;background:#030405;border-radius:0 0 12px 12px}.dv-device-left{left:1%;transform:rotate(-6deg)}.dv-device-center{left:33%;top:55px;height:485px;z-index:2;transform:rotate(2deg)}.dv-device-right{right:-1%;transform:rotate(7deg)}
.dv-device .dv-status{display:block;text-align:left;font:9px Arial,sans-serif;margin-bottom:25px}.dv-device .dv-symbol{display:block;font:34px Georgia,serif;color:#f0eaf8;margin:0 0 20px}.dv-device h3{font:italic 400 25px/1.12 var(--dv-serif);margin:0 0 22px}.dv-device p{font:11px/1.6 Arial,sans-serif;color:#c6c1d1;margin:12px 0}.dv-device .dv-prompt{font:400 19px/1.15 var(--dv-serif);color:#f4f5f7;margin:25px 0 20px}.dv-field{border:1px solid #d4c6f13a;background:#171b22c9;border-radius:14px;padding:12px 9px;font:10px Arial,sans-serif;text-align:left;color:#c5c0cd}.dv-device .dv-pill{display:block;border-radius:24px;padding:10px 5px;background:#d4c6f1;color:#17131e;font:10px Arial,sans-serif;margin-top:12px}.dv-orb{width:95px;height:95px;border:1px solid #d4c6f1;border-radius:50%;margin:35px auto 23px;background:radial-gradient(circle,#35243c44,#080a0d);box-shadow:0 0 25px #b591ef48,inset 0 0 20px #d4c6f129;display:grid;place-items:center;color:#d4c6f1}.dv-orb svg{width:36px;height:36px}.dv-device .dv-write{font:10px Arial,sans-serif;text-decoration:underline;color:#d4c6f1}.dv-constellation{height:140px;width:100%;margin-top:15px}.dv-pattern{display:flex;justify-content:space-between;font:10px Arial,sans-serif;padding:10px 8px;margin:6px 0;background:#171b22c9;border:1px solid #d4c6f12b;border-radius:12px}
.dw-app.dw-app{--dw-bg:var(--dv-obsidian);--dw-panel:var(--dv-graphite);--dw-border:var(--dv-border);--dw-muted:var(--dv-muted);--dw-text:var(--dv-platinum);--dw-accent:var(--dv-lilac);background:var(--dw-bg)}
.dw-app .dw-stars{height:850px;background:linear-gradient(#080a0d33,#080a0d77),var(--dv-art) center/cover;opacity:.55}
.dw-app .dw-header,.dw-app .dw-sidebar{background:#080a0dcf}.dw-app .dw-brand,.dw-app h1,.dw-app h2{font-weight:300}.dw-app .dw-primary{background:linear-gradient(110deg,#f0eaf8,#d4c6f1);color:#17131e;border-color:#d4c6f170}.dw-app .dw-primary:hover{background:#e9e0f6}
.dw-app .dw-panel{background:#14171dee;border-color:var(--dw-border)}.dw-app .dw-capture-hero{background:linear-gradient(#080a0d40,#080a0d77),var(--dv-art) bottom right/cover;border-color:var(--dw-border)}
.dw-app .dw-mic,.dw-app .dw-nav-capture>span{background:radial-gradient(circle at 45% 42%,#30243f,#111018 70%);border-color:#d4c6f1;color:#e6dafa;box-shadow:0 0 28px #ba8cea50,inset 0 0 18px #c5a3e54d}
.dw-app .dw-mic:not(.dw-recording){animation:none}.dw-app .dw-home-grid .dw-method-card,.dw-app .dw-method-card{background:linear-gradient(#121419ed,#121419d1),var(--dv-art) right bottom/cover}.dw-app .dw-memory-strip{background:linear-gradient(105deg,#212029,#13161b);border-color:var(--dw-border);color:#d4c6f1}.dw-app .dw-mobile-nav{background:#080a0df5;border-color:var(--dw-border)}.dw-app .dw-mobile-nav button[aria-current='page']{color:#d4c6f1}
.dw-app .dw-dream-icon,.dw-app .dw-dream-card:nth-child(2n) .dw-dream-icon,.dw-app .dw-dream-card:nth-child(3n) .dw-dream-icon{background:linear-gradient(#080a0d22,#080a0d44),var(--dv-art) right bottom/cover;color:#d4c6f1}.dw-app .dw-modal{background:#171b22}.dw-app .dw-universe{background:radial-gradient(ellipse,#d4c6f112,transparent 70%)}.dw-app input,.dw-app textarea{background:#101318;color:#f4f5f7}.dw-app .dw-sample-banner{background:#221e2a;border-color:#d4c6f144}
.dw-install-sheet.dw-install-sheet{background:linear-gradient(#111318f5,#111318ed),var(--dv-art) right bottom/cover;color:#f4f5f7;border-color:#d4c6f12b}.dw-install-sheet .dw-install-platforms{background:#080a0d}.dw-install-sheet .dw-install-platforms button[aria-pressed='true']{background:#332b40;color:#f4f5f7}.dw-install-sheet .dw-install-note{background:#1c2027}.dw-install-sheet .dw-install-primary{background:#d4c6f1;color:#17131e}
@media(max-width:1100px){.dv-site .hero-inner{min-height:620px}.dv-site .phones{height:520px}.dv-device{height:365px;padding-inline:10px;top:75px}.dv-device-center{height:405px;top:45px}.dv-device .dv-symbol{margin-bottom:12px}.dv-device h3{font-size:22px;margin-bottom:15px}.dv-orb{width:75px;height:75px;margin:25px auto 20px}.dv-constellation{height:105px}.dv-device p{font-size:10px}.dv-pattern{padding:8px 5px}}
@media(max-width:780px){.dv-site .hero-inner{display:block;min-height:0}.dv-site .hero-copy{padding:45px 0 15px}.dv-site .hero h1{font-size:clamp(45px,8vw,62px);font-weight:300}.dv-site .hero h1 em{font-size:.82em;margin:28px auto 0;max-width:340px}.dv-site .hero-description{margin:25px auto;font-size:16px}.dv-site .hero{background-position:65% bottom}.dv-site .phones{width:100%;max-width:520px;height:470px;aspect-ratio:auto;margin:10px auto 0}.dv-device{top:65px;height:365px}.dv-device-center{top:35px;height:405px}.dv-site .hero .actions{align-items:center}.dw-app .dw-capture-hero{background:linear-gradient(#080a0d55,#080a0d66),var(--dv-art) bottom right/cover;border-radius:24px}.dw-app .dw-stars{height:700px;opacity:.38}}
@media(max-width:420px){.dv-site .phones{height:380px}.dv-device{border-radius:21px;padding-inline:8px;top:48px;height:295px}.dv-device-center{top:20px;height:325px}.dv-device .dv-status{font-size:7px;margin-bottom:14px}.dv-device .dv-symbol{font-size:25px;margin-bottom:10px}.dv-device h3{font-size:19px}.dv-device .dv-prompt{font-size:15px;margin:18px 0}.dv-device p{font-size:8px}.dv-orb{height:65px;width:65px;margin:20px auto 14px}.dv-orb svg{width:27px;height:27px}.dv-field,.dv-pattern,.dv-device .dv-pill,.dv-device .dv-write{font-size:8px}.dv-constellation{height:87px;margin-top:0}.dv-device .dv-pill{padding:8px 3px}.dv-site .hero h1 em{max-width:300px}}

/* Keep dream capture and reflection calm; artwork surrounds readable surfaces. */
.dw-app .dw-stars{background:linear-gradient(#080a0d22,#080a0d66),var(--dv-art) 65% center/cover;opacity:.65}
.dw-app .dw-capture-hero{background:linear-gradient(#080a0d33,#080a0d77),var(--dv-art) 65% center/cover}
.dw-app .dw-panel{background:#10141bee}
.dw-app .dw-mic,.dw-app .dw-nav-capture>span{background:radial-gradient(circle at 38% 30%,#28425688,#252037aa 50%,#080a0d);box-shadow:0 0 28px #52b7d81c,inset 0 0 18px #c5a3e52b}
.dv-site .dv-device{background:linear-gradient(#080a0d88,#080a0d33),var(--dv-art) 70% center/auto 100%,#080a0d}
@media(max-width:780px){.dw-app .dw-stars{opacity:.55}.dw-app .dw-capture-hero{background:linear-gradient(#080a0d44,#080a0d77),var(--dv-art) 65% center/cover}}

/* Approved whale and crescent mark; preserve full color and transparent edges. */
.dv-site .header .brand img{width:52px;height:52px}
.dv-site footer .brand img{width:44px;height:44px}
.dv-site .dv-device img.dv-symbol{width:38px;height:38px;object-fit:contain;margin-left:auto;margin-right:auto}
.dv-site .app-icon{width:100px;height:100px;object-fit:contain;border-radius:0;box-shadow:none}
@media(max-width:420px){.dv-site .dv-device img.dv-symbol{width:28px;height:28px}.dv-site .header .brand img{width:44px;height:44px}}

/* Approved typography: typewriter throughout; Times New Roman Bold wordmark. */
.dv-site,.dw-app,.dw-install-sheet{--dv-typewriter:'Courier New',Courier,monospace;--dv-wordmark:'Times New Roman',Times,serif;--dv-serif:var(--dv-typewriter);--serif:var(--dv-typewriter);--sans:var(--dv-typewriter);font-family:var(--dv-typewriter)}
:is(.dv-site,.dw-app,.dw-install-sheet) *{font-family:var(--dv-typewriter)!important}
.dv-site .brand,.dv-site .brand>span,.dw-app .dw-brand,.dw-app .dw-brand>span{font-family:var(--dv-wordmark)!important;font-weight:700;font-style:normal;letter-spacing:.02em}
.dv-site :is(h1,h2,h3),.dw-app :is(h1,h2,h3){font-weight:400;letter-spacing:-.035em}
.dv-site .hero h1{font-size:clamp(36px,3.8vw,52px);line-height:1.15}
.dv-site .hero h1 em{font-style:normal;font-weight:400;font-size:.79em;line-height:1.2;letter-spacing:-.035em}
.dv-site h2{font-size:clamp(28px,3vw,38px);line-height:1.25}
.dv-site .closing h2{font-size:clamp(27px,3vw,36px)}
.dv-site .dv-device h3{font-style:normal;font-size:19px;letter-spacing:-.04em}
.dv-site .dv-device .dv-prompt{font-size:14px;line-height:1.4}
.dw-app h1{font-size:clamp(30px,3.5vw,48px);line-height:1.2}
.dw-app h2{font-size:26px;line-height:1.3}
@media(max-width:780px){.dv-site .hero h1{font-size:clamp(31px,5.8vw,44px)}.dv-site .hero h1 em{font-size:.8em;max-width:100%}.dv-site .section-heading h2{font-size:clamp(27px,5vw,35px)}}
@media(max-width:420px){.dv-site .hero h1{font-size:clamp(27px,8.2vw,34px)}.dv-site .dv-device h3{font-size:14px;margin-bottom:14px}.dv-site .dv-device .dv-prompt{font-size:11px;line-height:1.4}}
