body[data-theme="safari-baby"]{--wine:#435b43;--cream:#fcf8ed;--ink:#394635;background:#f1ecdf;color:var(--ink)}
body[data-theme="safari-baby"] header a,body[data-theme="safari-baby"] header button,body[data-theme="safari-baby"] .under button{color:var(--ink)}
body[data-theme="safari-baby"] header small,body[data-theme="safari-baby"] .under p{color:#73715c}
body[data-theme="safari-baby"] .envelope{background:#f7f3e9;border-radius:5px;box-shadow:0 18px 65px #6c674026}
body[data-theme="safari-baby"] #film,body[data-theme="safari-baby"] .fallback{display:none}
.safari-scene,.safari-scene>div{position:absolute;inset:0;pointer-events:none;background-size:100% 100%;background-repeat:no-repeat}
.safari-backdrop{background-image:url('./closed.jpg')}
.safari-rising-card{background-image:url('./open.jpg');clip-path:polygon(21% 16%,79% 16%,79% 38%,92% 52%,92% 95%,8% 95%,8% 52%,21% 38%);opacity:0;transform:translateY(29%);z-index:1}
.safari-flap{background-image:url('./closed.jpg');clip-path:polygon(8% 51%,92% 51%,50% 75%);transform-origin:50% 51%;z-index:5;backface-visibility:hidden}
.safari-front{background-image:url('./open.jpg');clip-path:polygon(8% 52%,50% 74%,92% 52%,92% 95%,8% 95%);z-index:4}
.safari-scene>.safari-animal{inset:auto;aspect-ratio:1;background-image:url('./animals-web.png');background-size:200% 200%;opacity:0;z-index:3;filter:drop-shadow(0 3px 3px #574b2c16);transform:translateY(100%) scale(.65)}
.safari-scene>.safari-elephant{left:-1%;top:26%;width:31%;background-position:0 0;--delay:.65s;--tilt:-6deg}
.safari-scene>.safari-giraffe{right:0;top:19%;width:29%;background-position:100% 0;--delay:1.05s;--tilt:5deg}
.safari-scene>.safari-lion{left:1%;top:45%;width:29%;background-position:0 100%;--delay:1.45s;--tilt:-5deg}
.safari-scene>.safari-zebra{right:0;top:44%;width:29%;background-position:100% 100%;--delay:1.85s;--tilt:6deg}
.safari-scene.playing .safari-flap{animation:safari-flap .9s ease-in-out both}
.safari-scene.playing .safari-rising-card{animation:safari-card 1.25s .35s cubic-bezier(.22,.7,.3,1) both}
.safari-scene.playing .safari-animal{animation:safari-pop 1s var(--delay) cubic-bezier(.2,.7,.3,1) both}
.safari-scene.still .safari-flap{opacity:0}
.safari-scene.still .safari-rising-card,.safari-scene.still .safari-animal{opacity:1;transform:none}
@keyframes safari-flap{0%{transform:perspective(800px) rotateX(0);opacity:1}65%{opacity:1}100%{transform:perspective(800px) rotateX(170deg);opacity:0}}
@keyframes safari-card{0%{opacity:0;transform:translateY(29%)}25%{opacity:1}100%{opacity:1;transform:none}}
@keyframes safari-pop{0%{opacity:0;transform:translateY(100%) scale(.65) rotate(var(--tilt))}30%{opacity:1}72%{opacity:1;transform:translateY(-7%) scale(1.04) rotate(var(--tilt))}100%{opacity:1;transform:none}}
body[data-theme="safari-baby"] .welcome{left:15%;top:28%;width:70%;gap:12px;padding:0;color:#43513c;text-shadow:none;z-index:6}
body[data-theme="safari-baby"] .welcome .eyebrow{font-size:clamp(11px,2.6cqw,14px);letter-spacing:.08em}
body[data-theme="safari-baby"] .welcome .names{font-family:'Wedding Script',Georgia,serif;font-style:normal;font-size:clamp(27px,7.6cqw,41px);width:100%;white-space:normal;overflow-wrap:anywhere;text-wrap:balance;line-height:1.1}
body[data-theme="safari-baby"] .tap{font-size:14px;border-color:#718061}
body[data-theme="safari-baby"] .paper{left:29%;top:24%;width:42%;z-index:6;color:#43513c}
body[data-theme="safari-baby"] .paper .eyebrow{font-size:clamp(16px,4.5cqw,24px);line-height:1.1;font-weight:500;text-transform:none;letter-spacing:0;text-wrap:balance;margin-bottom:14px}
body[data-theme="safari-baby"] .paper h1{font-family:'Wedding Script',Georgia,serif;font-size:clamp(26px,7cqw,37px);font-style:normal;line-height:1.12;margin-bottom:13px}
body[data-theme="safari-baby"] .paper #dateLabel{font-size:clamp(12px,3cqw,16px);margin-bottom:10px}
body[data-theme="safari-baby"] .links{gap:3px}
body[data-theme="safari-baby"] .links button{font-weight:400;text-underline-offset:4px}
body[data-theme="safari-baby"] .details-stationery{border-color:#aaa98c;background:linear-gradient(135deg,#fffdf5,#f1eddd)}
body[data-theme="safari-baby"] .details-rule span{font-size:23px}
@media(prefers-reduced-motion:reduce){.safari-scene.playing .safari-rising-card,.safari-scene.playing .safari-animal{animation:none;opacity:1;transform:none}.safari-scene.playing .safari-flap{animation:none;opacity:0}}
