/* Presentation only: no dimensions or positions of existing app elements change. */
:root { --penelope-motion: running; }
.welcome>img,#penelopeLauncher>img,.pen-header>img {transform-origin:50% 85%;will-change:transform;animation:penelope-breathe 4.6s ease-in-out infinite;animation-play-state:var(--penelope-motion)}
#penelopeLauncher>img{animation-delay:1.6s}.pen-header>img{animation-delay:.5s}
.penelope-hop{animation:penelope-happy .8s ease-in-out 2!important}
.penelope-nod{animation:penelope-nod .6s ease-in-out!important}
.penelope-listening{animation:penelope-listen 1.3s ease-in-out!important}
.penelope-spark{position:fixed;pointer-events:none;z-index:99999;color:#203d55;background:#ffde75;border:2px solid #203d55;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800;animation:penelope-spark .95s ease-out forwards}
.penelope-spark:nth-child(even){background:#c6b4ff;clip-path:polygon(50% 0,65% 35%,100% 50%,65% 65%,50% 100%,35% 65%,0 50%,35% 35%);border-radius:0}
.delight-options{margin:18px 0}.delight-options .check{display:flex;align-items:center;gap:10px;margin:14px 0}.delight-options input{width:22px;height:22px;accent-color:#7557bb}.delight-options summary{font-weight:700;cursor:pointer}
.motion-off .welcome>img,.motion-off #penelopeLauncher>img,.motion-off .pen-header>img,.motion-off .penelope-spark{animation:none!important;will-change:auto}
.native-paused .welcome>img,.native-paused #penelopeLauncher>img,.native-paused .pen-header>img{animation-play-state:paused!important}
@keyframes penelope-breathe{0%,70%,100%{transform:translateY(0) rotate(0) scale(1)}20%{transform:translateY(-5px) rotate(-2deg) scale(1.018)}40%{transform:translateY(-2px) rotate(2deg) scale(1)}55%{transform:translateY(-5px) rotate(-1deg) scale(1.012)}}
@keyframes penelope-happy{0%,100%{transform:translateY(0) scale(1)}20%{transform:translateY(2px) scale(1.06,.94)}45%{transform:translateY(-18px) rotate(-8deg) scale(.98,1.03)}65%{transform:translateY(-8px) rotate(7deg)}85%{transform:translateY(1px) scale(1.04,.96)}}
@keyframes penelope-nod{0%,100%{transform:rotate(0)}35%{transform:rotate(8deg) translateY(3px)}70%{transform:rotate(-4deg) translateY(-3px)}}
@keyframes penelope-listen{0%,100%{transform:rotate(0)}30%,70%{transform:rotate(-9deg) translateY(-4px)}}
@keyframes penelope-spark{from{opacity:1;transform:translate(0,0) scale(.4)}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(1.2)}}
@media(prefers-reduced-motion:reduce){.welcome>img,#penelopeLauncher>img,.pen-header>img,.penelope-spark{animation:none!important;will-change:auto}.penelope-spark{display:none}}
