/* U & M v2 — cinematic transitions, actual sky charts, timeline and real-world globe */
:root{--cinema-shadow:0 28px 90px rgba(0,0,0,.4)}
.intro-cinematic{overflow:hidden;background:radial-gradient(ellipse at 20% 25%,#47304d 0%,transparent 45%),radial-gradient(ellipse at 83% 72%,#392746 0%,transparent 42%),#0b0a15}
.intro-cinematic .intro-inner{isolation:isolate;max-width:900px;position:relative;animation:cinema-in 1.2s cubic-bezier(.2,.8,.2,1) both}
.intro-cinematic .intro-inner>.eyebrow,.intro-cinematic .intro-inner>h1,.intro-cinematic .intro-message,.intro-cinematic .intro-photos{position:relative;z-index:2}
.intro-cinematic h1{letter-spacing:-.045em;text-shadow:0 16px 55px rgba(224,108,159,.2);animation:headline-rise .95s .1s both}
.intro-cinematic .intro-message{animation:headline-rise 1s .35s both;max-width:640px;margin-left:auto;margin-right:auto}
.intro-cinematic .intro-photos{animation:film-reveal 1.3s .12s both;filter:drop-shadow(0 24px 40px rgba(0,0,0,.5))}
.intro-aurora{position:absolute;inset:-30vw -30vw;overflow:hidden;z-index:-1;pointer-events:none}
.intro-aurora span{position:absolute;display:block;border-radius:50%;filter:blur(65px);opacity:.27;animation:aurora-drift 19s ease-in-out infinite alternate}
.intro-aurora span:nth-child(1){width:40%;height:35%;left:8%;top:15%;background:#aa567c}
.intro-aurora span:nth-child(2){width:30%;height:45%;right:9%;bottom:10%;background:#70509c;animation-duration:25s;animation-delay:-8s}
.intro-aurora span:nth-child(3){width:18%;height:18%;right:27%;top:5%;background:#ce779a;animation-duration:16s;animation-delay:-4s}
.intro-mini-brand{position:relative;z-index:3;font-size:1.1rem;font-weight:700;letter-spacing:.12em;color:#f9d0de;margin-bottom:3rem}
.intro-mini-brand span{font-size:.55rem;font-weight:400;vertical-align:middle;opacity:.65;letter-spacing:.25em}
.intro-help{color:#dfb6ce;font-size:.84rem;letter-spacing:.04em;margin:6px 0 20px}
.intro-music-toggle{position:fixed;z-index:1000;right:24px;top:22px;border:1px solid #a4799c;border-radius:40px;padding:12px 18px;background:rgba(39,23,47,.85);color:#ffdae6;cursor:pointer;backdrop-filter:blur(15px);transition:transform .25s,background .25s}
.intro-music-toggle:hover{transform:translateY(-3px);background:#51354f}
.final-reveal-stars{font-size:2.6rem;color:#fff2c5;letter-spacing:.5rem;filter:drop-shadow(0 0 15px #d46faa);animation:glow-stars 3s ease-in-out infinite}
@keyframes cinema-in{from{opacity:0;transform:scale(.94) translateY(20px);filter:blur(10px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}
@keyframes headline-rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes film-reveal{from{opacity:0;transform:perspective(900px) rotateX(11deg) scale(.9)}to{opacity:1;transform:perspective(900px) rotateX(0deg) scale(1)}}
@keyframes aurora-drift{from{transform:translate(-25px,-40px) rotate(0)}to{transform:translate(90px,65px) rotate(45deg)}}
@keyframes glow-stars{0%,100%{opacity:.5;transform:scale(.93)}50%{opacity:1;transform:scale(1.08)}}
.timeline-rail{position:relative;padding:20px 0 5px 34px;max-width:980px;margin:auto}
.timeline-rail::before{content:"";position:absolute;top:30px;bottom:30px;left:15px;width:2px;background:linear-gradient(#e0a1bd,#7e5f8d,#655881)}
.timeline-entry{position:relative;margin:0 0 28px 0;animation:headline-rise .7s both;animation-delay:calc(var(--i) * .09s)}
.timeline-node{position:absolute;top:29px;left:-36px;width:34px;height:34px;border:1px solid rgba(246,189,217,.75);border-radius:50%;background:#36243d;color:#fff2e7;display:grid;place-items:center;box-shadow:0 0 25px rgba(214,127,193,.3)}
.timeline-entry-card{padding:26px;border-radius:22px;background:linear-gradient(125deg,rgba(99,65,95,.48),rgba(47,34,59,.6));border:1px solid rgba(255,229,248,.12)}
.timeline-entry-card h3{margin:12px 0;font-size:1.65rem}
.timeline-photo{max-width:440px;max-height:320px;overflow:hidden;margin:18px 0;border-radius:18px}
.timeline-photo .photo-placeholder{min-height:220px}
.film-player{text-align:center;padding:6px 0}
.film-photo{margin:20px auto;max-width:580px;max-height:450px;overflow:hidden;border-radius:18px;box-shadow:var(--cinema-shadow)}
.film-photo .photo-placeholder{min-height:270px}
.film-player h2{font-size:clamp(1.7rem,4vw,3rem);margin:18px 0 7px}
.film-player .serif{margin:20px auto;max-width:550px;font-size:1.2rem;line-height:1.7}
.film-player .btnrow{justify-content:center}
.film-progress{background:rgba(255,255,255,.15);height:4px;border-radius:5px;overflow:hidden;margin:20px auto;max-width:550px}
.film-progress span{display:block;background:linear-gradient(90deg,#c67baf,#f5bccc);height:100%;transition:width .5s}
.sky-event{text-align:center}.sky-event h3{margin:9px 0}.sky-preview{width:min(100%,470px);margin:0 auto 20px}.historical-sky-svg{display:block;width:100%;filter:drop-shadow(0 15px 35px rgba(8,11,33,.4))}.sky-modal{text-align:center}.sky-modal .sky-preview{max-width:560px}
.cosmic-prompts{display:grid;gap:12px;margin-top:20px}.cosmic-prompts p{background:rgba(223,158,190,.08);padding:14px 18px;border-radius:14px;color:#f2d6e2}
.capsule-modal{text-align:center}.sealed-envelope{margin:24px auto;padding:38px 24px;max-width:490px;border:1px solid rgba(249,199,219,.25);border-radius:18px;background:linear-gradient(145deg,#513245,#261c35)}.sealed-envelope span{display:block;font-size:4rem;color:#efbbce}.sealed-envelope strong{display:block;margin:10px}.sealed-envelope p{opacity:.8;margin-top:10px}.capsule-text{font-size:1.35rem;max-width:540px;margin:25px auto;line-height:1.8}.capsule-attachment{max-width:100%;margin:20px auto}.capsule-attachment audio,.capsule-attachment video,.capsule-attachment img{width:100%;max-width:480px;border-radius:12px}
.recording-ui{text-align:center;padding:40px 12px}.recording-ui p{color:#cdaabb;margin:15px auto;max-width:390px}.recording-pulse{font-size:4rem;color:#f89bb0;animation:glow-stars 1s ease-in-out infinite}
.geoglobe-wrap{position:relative;background:radial-gradient(ellipse at center,#283e57,#0d1221 75%);overflow:hidden;min-height:425px;text-align:center;border-radius:20px}
#real-globe{width:100%;max-width:620px;height:auto;min-height:380px;cursor:grab;touch-action:none;display:block;margin:auto}
#real-globe:active{cursor:grabbing}
#globe-status{position:absolute;bottom:13px;left:14px;right:14px;color:#ced6e0}
.globe-help{position:absolute;top:18px;left:0;right:0;font-size:.75rem;letter-spacing:.09em;color:#d2d6dd;opacity:.8;pointer-events:none}
@media(max-width:640px){.intro-mini-brand{margin-top:55px;margin-bottom:20px}.intro-mini-brand span{display:none}.intro-music-toggle{top:12px;right:12px;padding:9px 12px;font-size:.75rem}.timeline-rail{padding-left:20px}.timeline-rail::before{left:7px}.timeline-node{left:-29px;width:27px;height:27px}.timeline-entry-card{padding:18px}.geoglobe-wrap{min-height:300px}#real-globe{min-height:280px}}
@media(prefers-reduced-motion:reduce){.intro-cinematic .intro-inner,.intro-cinematic h1,.intro-cinematic .intro-message,.intro-cinematic .intro-photos,.intro-aurora span,.final-reveal-stars,.timeline-entry,.recording-pulse{animation:none!important}}

.intro-single-memory{max-width:490px;max-height:220px;overflow:hidden;margin:15px auto 20px;border-radius:19px;box-shadow:0 15px 55px rgba(0,0,0,.32);animation:film-reveal .9s .1s both}.intro-single-memory .photo-placeholder{min-height:190px}.music-embed{width:100%;height:152px;border:0;border-radius:15px;margin-top:16px;background:#231b2d}
