/* Birthday film, party letter, and a meaningful wish — scoped to ANIMADA 01. */
.ec3-experience[data-card="bdv01"] #ec3-gate.ecp-gate{--ecp-paper:#41008f;--ecp-ink:#fff4e8;--ecp-accent:#ffdc00;background:#41008f!important;color:#fff4e8!important}
.ec3-experience[data-card="bdv01"] #ec3-gate.ecp-gate .ec3-gate-shade{background:linear-gradient(#43008d88,#360078dd)!important}
.ec3-experience[data-card="bdv01"] #ec3-gate.ecp-gate .ec3-gate-center h1{color:#fff4e8!important;font-family:system-ui!important;font-weight:850!important;font-size:clamp(36px,6vw,64px)!important;letter-spacing:-.05em!important}
.ec3-experience[data-card="bdv01"] .ec3-sideword{display:none}
.ec3-experience[data-card="bdv01"]{--accent:#ffdc00;--paper:#fff8dc;--ink:#491279;background:radial-gradient(ellipse at 10% 10%,#9f36ef,transparent 48%),radial-gradient(ellipse at 95% 55%,#7b23dc,transparent 45%),#5312a4!important;color:#fff5ff}.ec3-experience[data-card="bdv01"] .ec3-gate{background:#27132e}.ec3-experience[data-card="bdv01"] .ec3-gate-photo{opacity:.6;filter:blur(2px);object-position:center}.ec3-experience[data-card="bdv01"] .ec3-gate-shade{background:linear-gradient(#22102b80,#2c1331a8)}.ec3-experience[data-card="bdv01"] .ec3-gate-center h1{font-family:system-ui!important;font-weight:850!important;letter-spacing:-.05em;font-size:clamp(38px,7vw,72px)!important}.ec3-experience[data-card="bdv01"] .ecp-gift{background:linear-gradient(130deg,#ffea00,#ffb900)!important}.ec3-experience[data-card="bdv01"] #ec10-open-letter{background:#ffdc00!important;color:#3d2144!important;font-weight:850!important;box-shadow:0 12px 45px #ffcc4755}.ec3-experience[data-card="bdv01"] .ec3-card-nav{background:#41008f;color:#fff7fc;border-bottom:1px solid #9856d9}.ec3-experience[data-card="bdv01"] .ec3-photohero{min-height:90svh}.ec3-experience[data-card="bdv01"] .ec3-hero-shade{background:linear-gradient(0deg,#36163ded 0%,#35123f40 75%)}.ec3-experience[data-card="bdv01"] .ec3-hero-content{color:#fff}.ec3-experience[data-card="bdv01"] .ec3-hero-content h2{font-family:system-ui!important;font-weight:850!important;letter-spacing:-.05em!important;font-size:clamp(40px,6vw,76px)!important;line-height:1.03!important}.ec3-experience[data-card="bdv01"] .ec3-letter-section{background:transparent!important}.ec3-experience[data-card="bdv01"] .ec3-paper{background:#fff8df!important;border:1px solid #e6c6d8;box-shadow:0 30px 75px #8b438c16;color:#563450!important}.ec3-experience[data-card="bdv01"] .ec3-song-section{background:#ffdc00!important;color:#4b1283!important;border-radius:32px;margin:0 auto 45px;max-width:1040px;padding:40px!important;width:calc(100% - 36px)}.ec3-experience[data-card="bdv01"] .ec3-finale{background:linear-gradient(#6415bc,#41008f)!important;color:#fff6ff!important}.ec3-experience[data-card="bdv01"] .ec3-finale>h2{font-family:system-ui!important;font-weight:850!important;font-size:clamp(32px,5vw,60px)!important;letter-spacing:-.045em;line-height:1.08}.ec3-experience[data-card="bdv01"] .ec3-keepsake{background:#fff}.eb-wish-stage{width:min(1080px,calc(100% - 36px));margin:55px auto;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:54px;padding:32px;border:1px solid #a35be8;background:linear-gradient(145deg,#7920ce,#4b069d);border-radius:36px;box-shadow:0 24px 65px #8b438c14}.eb-mascot{position:relative;justify-self:center;transform:rotate(-4deg)}.eb-mascot img{display:block;width:240px;max-width:100%;border:8px solid #fff;border-radius:110px 110px 30px 30px;box-shadow:0 20px 45px #68216f26}.eb-mascot>span{position:absolute;right:-16px;top:20px;font-size:48px;animation:eb-bob 2.3s ease-in-out infinite}.eb-eyebrow{font:800 10px/1.6 system-ui;letter-spacing:.12em;color:#ffdf28}.eb-wish-stage h2{font:850 clamp(30px,4vw,49px)/1.05 system-ui!important;letter-spacing:-.045em!important;color:#ffffff!important;margin:12px 0 18px!important}.eb-wish-stage p{font:15px/1.8 system-ui;color:#f2ddff!important}.eb-wish-stage button{display:inline-flex;background:#ffdc00!important;border:0!important;color:#480e79!important;border-radius:18px;padding:16px 24px;margin:22px 0;font:800 15px system-ui;box-shadow:0 12px 30px #eab34026}.eb-wish-flame{display:flex;align-items:center;gap:10px;color:#ebd3ff;font:12px system-ui}.eb-wish-flame span{font-size:28px}.eb-wished .eb-wish-flame span{filter:grayscale(1);opacity:.5}.eb-intro[hidden]{display:none!important}.eb-intro{position:fixed;inset:0;z-index:100000;overflow:auto;overscroll-behavior:contain;background:#370075;color:#fff7ee;font-family:system-ui}.eb-intro-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 20% 35%,#b52dff66,transparent 45%),radial-gradient(ellipse at 80% 65%,#ffdc002e,transparent 45%)}.eb-intro-layout{position:relative;min-height:100svh;max-width:1160px;margin:auto;display:grid;grid-template-columns:1fr min(44vw,390px);grid-template-rows:1fr auto auto;align-items:center;gap:15px 55px;padding:28px 36px}.eb-intro header{grid-row:1/3}.eb-intro header>span{font:800 11px system-ui;letter-spacing:.18em;color:#ffe000}.eb-intro h2{font:850 clamp(40px,6vw,76px)/1.02 system-ui!important;letter-spacing:-.055em;color:#fff5ef!important;margin:22px 0!important}.eb-intro h2 em{font-style:normal;color:#ffdf00}.eb-intro header p{font:15px/1.7 system-ui;color:#e5cce4}.eb-screen{position:relative;grid-column:2;aspect-ratio:9/16;max-height:calc(100svh - 135px);border-radius:28px;overflow:hidden;box-shadow:0 0 0 1px #ffffff30,0 25px 90px #0007}.eb-screen video{display:block;width:100%;height:100%;object-fit:cover}.eb-intro-actions{grid-column:2;display:flex;gap:8px;justify-content:center}.eb-intro-actions button{background:#ffffff12;border:1px solid #ffffff36;border-radius:14px;color:#fff;padding:12px 15px;font:700 12px system-ui;min-height:44px;cursor:pointer}.eb-intro-actions button:last-child{background:#ffdc00;color:#3a2141;border-color:#ffdc00}.eb-video-status{grid-column:2;text-align:center;color:#d7c2db;font:12px/1.6 system-ui;margin:0 0 6px}.eb-video-finale[hidden]{display:none!important}.eb-video-finale{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:radial-gradient(#874c8180,#25102bd9);backdrop-filter:blur(7px);animation:eb-arrive .6s ease both;text-align:center}.eb-video-finale span{font-size:100px;filter:drop-shadow(0 0 35px #ffda6e);animation:eb-bob 1s ease-in-out infinite}.eb-video-finale strong{font:850 32px/1.1 system-ui;color:#fff6d7}.eb-intro.is-finishing .eb-screen{box-shadow:0 0 90px #ffca6e66;transition:box-shadow .6s}.eb-replay{display:block;margin:22px auto 0;border:1px solid #d2b2dd;border-radius:30px;padding:12px 22px;background:#ffdc00;color:#480e79;font:750 13px system-ui;cursor:pointer}@keyframes eb-bob{50%{transform:translateY(-10px) rotate(5deg)}}@keyframes eb-arrive{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(max-width:700px){.eb-intro-layout{display:flex;flex-direction:column;justify-content:center;gap:12px;padding:18px 16px;min-height:100svh}.eb-intro header{text-align:center}.eb-intro header>span{font-size:9px}.eb-intro h2{font-size:29px!important;margin:6px 0!important}.eb-intro header p{display:none}.eb-screen{width:min(100%,calc((100svh - 190px)*9/16));max-height:none;flex:none;border-radius:22px}.eb-video-status{font-size:11px}.eb-wish-stage{grid-template-columns:1fr;gap:24px;padding:28px 20px;text-align:center;margin:30px auto}.eb-mascot img{width:190px}.eb-wish-flame{justify-content:center}.ec3-experience[data-card="bdv01"] .ec3-song-section{padding:28px 20px!important;border-radius:25px}.ec3-experience[data-card="bdv01"] .ec3-photohero{min-height:80svh}}@media(prefers-reduced-motion:reduce){.eb-mascot>span,.eb-video-finale span,.eb-video-finale{animation:none!important}}

.ec3-experience[data-card="bdv01"] .ec3-finale>h2,.ec3-experience[data-card="bdv01"] .ec3-final-brand,.ec3-experience[data-card="bdv01"] .ec3-finale>.ec3-reaction-note{color:#fff4ff!important}
.ec3-experience[data-card="bdv01"] .ec3-song-section h2,.ec3-experience[data-card="bdv01"] .ec3-song-section p,.ec3-experience[data-card="bdv01"] .ec3-song-section .ec3-eyebrow{color:#480e79!important}
.ec3-experience[data-card="bdv01"] .ec3-song-section .ec3-music-main{background:#5b0eb1!important;color:#fff!important;border-color:#5b0eb1!important}
.ec3-experience[data-card="bdv01"] .ecr-reply{border:2px solid #ffdc00;box-shadow:0 22px 65px #24004c33}
.ec3-experience[data-card="bdv01"] .ecr-reply .ecr-send{background:#ffdc00!important;color:#480e79!important;box-shadow:0 10px 26px #ffdc0038}

/* Balloons and curled streamers frame the reading area. */
.eb-party-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none!important;z-index:99990;contain:strict}
.eb-party-layer i{position:absolute;left:var(--px);animation-duration:var(--pd);animation-delay:var(--pdelay);animation-timing-function:linear;animation-fill-mode:both;pointer-events:none!important;will-change:transform}
.eb-party-balloon{bottom:-150px;width:var(--psize);height:calc(var(--psize)*1.25);border-radius:50% 50% 47% 47%;background:radial-gradient(ellipse at 30% 23%,#fff9,transparent 30%),var(--pcolor);box-shadow:inset -5px -5px 12px #37006028,0 4px 15px #36004912;opacity:.8;animation-name:eb-balloon-rise}
.eb-party-balloon:before{content:"";position:absolute;bottom:-6px;left:calc(50% - 4px);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid var(--pcolor)}
.eb-party-balloon:after{content:"";position:absolute;left:50%;top:calc(100% + 5px);width:12px;height:75px;border-left:1px solid #d3b9eb;border-radius:50%;transform:rotate(6deg)}
.eb-party-ribbon{top:-190px;width:23px;height:145px;color:var(--pcolor);opacity:.85;animation-name:eb-ribbon-fall;filter:drop-shadow(1px 2px 1px #30004122)}
.eb-party-ribbon svg{display:block;width:100%;height:100%;overflow:visible}
@keyframes eb-balloon-rise{0%{transform:translate3d(0,0,0) rotate(-8deg)}30%{transform:translate3d(var(--pdrift),-40vh,0) rotate(8deg)}70%{transform:translate3d(0,-85vh,0) rotate(-6deg)}100%{transform:translate3d(var(--pdrift),calc(-100vh - 240px),0) rotate(8deg);opacity:0}}
@keyframes eb-ribbon-fall{0%{transform:translate3d(0,0,0) rotate(-18deg)}40%{transform:translate3d(var(--pdrift),45vh,0) rotate(18deg)}100%{transform:translate3d(0,calc(100vh + 300px),0) rotate(-22deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.eb-party-layer{display:none!important}}

/* Strong purple foreground on yellow buttons and light paper surfaces. */
.ec3-experience[data-card="bdv01"] #ec3-gate.ecp-gate #ec10-open-letter,
.ec3-experience[data-card="bdv01"] #ec3-gate.ecp-gate #ec10-open-letter span,
.ec3-experience[data-card="bdv01"] .eb-replay,
.ec3-experience[data-card="bdv01"] .eb-wish-stage button,
.ec3-experience[data-card="bdv01"] #ecr-reply .ecr-send,
.eb-intro #eb-video-skip{
color:#480e79!important;-webkit-text-fill-color:#480e79!important;text-shadow:none!important;opacity:1!important
}
.ec3-experience[data-card="bdv01"] .ec3-paper,
.ec3-experience[data-card="bdv01"] .ec3-polaroid span,
.ec3-experience[data-card="bdv01"] .ec4-keepsake,
.ec3-experience[data-card="bdv01"] .ec4-keepsake h3,
.ec3-experience[data-card="bdv01"] .ec4-keepsake p,
.ec3-experience[data-card="bdv01"] .ec4-keepsake small,
.ec3-experience[data-card="bdv01"] #ecr-reply label,
.ec3-experience[data-card="bdv01"] #ecr-reply textarea,
.ec3-experience[data-card="bdv01"] #ecr-reply .ecr-result,
.ec3-experience[data-card="bdv01"] #ecr-reply .ecr-result p{
color:#480e79!important
}
