/* Approved page-integrated discoveries. No layout rows or scene boxes. */
.cp-eg-world,.cp-eg-atmosphere{--sidebar:0px;--preview:0px;--bottom:18px}
.cp-eg-world{position:fixed;inset:0;z-index:25;pointer-events:none;overflow:hidden}.cp-eg-world .actor{position:absolute;margin:0;padding:0;border:0;background:none;color:inherit;pointer-events:auto;touch-action:manipulation;filter:drop-shadow(3px 6px 4px #0007);-webkit-tap-highlight-color:transparent}.cp-eg-world .actor svg{width:100%;height:100%;display:block;overflow:visible}.cp-eg-world .actor:focus-visible{outline:1px dashed #e2c481;outline-offset:3px}.cp-eg-world .peek{width:116px;height:145px;left:calc(var(--sidebar) - 116px);top:calc(var(--preview) + 188px);transform-origin:20% 65%}.cp-eg-world .peek .peek-eyes{filter:drop-shadow(0 0 3px #ffd985)}.cp-eg-world .peek:hover .hand-wave{transform:rotate(-12deg);transform-origin:84px 79px}.cp-eg-world .zombie{width:94px;height:148px;bottom:calc(var(--bottom) + 7px);transform-origin:50% 95%}.cp-eg-world .zombie svg{transform-origin:50% 95%;animation:zombie-body .8s ease-in-out infinite alternate}.cp-eg-world .zombie .leg-a{transform-origin:45px 94px;animation:zombie-leg 1s ease-in-out infinite alternate}.cp-eg-world .zombie .leg-b{transform-origin:57px 95px;animation:zombie-leg 1s ease-in-out infinite alternate-reverse}.cp-eg-world .zombie .arm-a{transform-origin:48px 56px;animation:zombie-arm 1.4s ease-in-out infinite alternate}.cp-eg-world .zombie .head{transform-origin:46px 39px;animation:zombie-head 1.8s ease-in-out infinite alternate}.cp-eg-world .zombie .eye{fill:#cbd98e}.cp-eg-world .zombie.reacting svg{animation:recoil .4s ease-out}.cp-eg-world .zombie.reacting .eye{fill:#f7d98f}.cp-eg-world .runner{width:100px;height:134px;top:calc(var(--preview) + 205px);left:calc(var(--sidebar) - 110px)}.cp-eg-world .runner .run-leg{transform-origin:46px 95px;animation:run-leg .25s ease-in-out infinite alternate}.cp-eg-world .runner .run-leg-b{animation-direction:alternate-reverse}.cp-eg-world .runner .run-arm{transform-origin:53px 53px;animation:run-arm .3s ease-in-out infinite alternate}.cp-eg-world .coastal-car{width:185px;height:74px;bottom:calc(var(--bottom) + 8px);left:calc(var(--sidebar) - 200px)}.cp-eg-world .coastal-car .wheel{transform-box:fill-box;transform-origin:center;animation:wheel-turn .65s linear infinite}.cp-eg-world .coastal-car .headlights{opacity:0;transition:opacity .2s}.cp-eg-world .coastal-car.lights .headlights{opacity:.48}.cp-eg-world .reindeer{width:218px;height:111px;bottom:calc(var(--bottom) + 12px);left:calc(var(--sidebar) - 240px)}.cp-eg-world .reindeer .deer-body{animation:deer-bob .4s ease-in-out infinite alternate}.cp-eg-world .reindeer .deer-legs{transform-origin:64px 67px;animation:run-leg .3s ease-in-out infinite alternate}.cp-eg-world .footprint{position:absolute;bottom:calc(var(--bottom) + 8px);width:7px;height:13px;border-radius:60%;background:#a5bfc02d;pointer-events:none;transform:rotate(-16deg);animation:fade-track 3s ease-out forwards}.cp-eg-world .elf{width:79px;height:106px;left:calc(var(--sidebar) - 83px);bottom:calc(var(--bottom) + 10px)}.cp-eg-world .elf .elf-leg{transform-origin:43px 74px;animation:run-leg .7s ease-in-out infinite alternate}.cp-eg-world .elf .elf-leg-b{animation-direction:alternate-reverse}.cp-eg-world .elf .elf-body{transform-origin:44px 73px;animation:elf-creep 1s ease-in-out infinite alternate}.cp-eg-world .elf.frozen *{animation-play-state:paused!important}.cp-eg-world .elf.frozen{filter:drop-shadow(0 0 4px #c5d2a14d)}.cp-eg-world .snowman{width:72px;height:110px;right:25px;bottom:calc(var(--bottom) + 3px);opacity:0}.cp-eg-world .snowman .snow-head,.cp-eg-world .snowman .snow-middle{opacity:0}.cp-eg-world .snowman.built-1 .snow-middle,.cp-eg-world .snowman.built-2 .snow-middle,.cp-eg-world .snowman.built-2 .snow-head{opacity:1}.cp-eg-world .snowman.built-2 svg{animation:snow-nod .8s ease-in-out 2}

@keyframes zombie-body{from{transform:translateY(0) rotate(-5deg)}to{transform:translateY(3px) rotate(3deg)}}
@keyframes zombie-leg{from{transform:rotate(-13deg)}to{transform:rotate(12deg)}}
@keyframes zombie-arm{from{transform:rotate(-4deg)}to{transform:rotate(10deg)}}
@keyframes zombie-head{to{transform:rotate(-9deg)}}@keyframes recoil{40%{transform:translateX(-15px) rotate(-13deg)}}
@keyframes run-leg{from{transform:rotate(-27deg)}to{transform:rotate(27deg)}}@keyframes run-arm{to{transform:rotate(24deg)}}
@keyframes wheel-turn{to{transform:rotate(360deg)}}@keyframes deer-bob{to{transform:translateY(-4px)}}
@keyframes fade-track{to{opacity:0}}@keyframes snow-nod{50%{transform:rotate(9deg) translateY(-4px)}}
@keyframes elf-creep{from{transform:rotate(-8deg) translateY(2px)}to{transform:rotate(-1deg) translateY(-1px)}}

.cp-eg-atmosphere{position:fixed;inset:var(--preview) 0 0;z-index:20;pointer-events:none;overflow:hidden}.cp-eg-atmosphere *{pointer-events:none}
.cp-eg-atmosphere .snowflake{position:absolute;top:-16px;left:var(--snow-x);width:var(--snow-size);height:var(--snow-size);border-radius:50%;background:#edf6f5;opacity:var(--snow-opacity);box-shadow:0 0 5px #dcefff35;animation:snowfall var(--snow-time) linear var(--snow-delay) infinite;will-change:transform}
.cp-eg-atmosphere .falling-decoration{position:absolute;top:-42px;left:var(--snow-x);width:var(--snow-size);height:calc(var(--snow-size) * 1.25);opacity:.75;animation:snowfall var(--snow-time) linear var(--snow-delay) infinite;will-change:transform}.cp-eg-atmosphere .falling-decoration svg{display:block;width:100%;height:100%;animation:ornament-sway 4s ease-in-out infinite alternate;transform-origin:50% 0}

@keyframes ornament-sway{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
@keyframes snowfall{from{transform:translate3d(0,-12px,0)}to{transform:translate3d(var(--snow-drift),calc(100vh + 20px),0)}}


.cp-eg-atmosphere{inset:0;z-index:18}
.cp-eg-world[hidden],.cp-eg-atmosphere[hidden]{display:none!important}
.cp-eg-world .actor{min-width:0;min-height:0;box-shadow:none;border-radius:0;line-height:normal}
.cp-eg-world .actor:hover{background:none}
.cp-eg-atmosphere .is-still,.cp-eg-atmosphere .is-still svg{animation:none!important;opacity:.65}
body:has(.cp-eg-world) .sidebar{z-index:1000}
.cp-brand-controls{position:relative;z-index:40}
.cp-holiday-ribbon{display:none!important}
.cp-easter-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:#020907cc;backdrop-filter:blur(4px)}
.cp-eg-map-dialog{width:min(620px,100%);max-height:90vh;overflow:auto;background:var(--cp-surface,#102019);color:var(--cp-text,#cce1dc);border:1px solid var(--cp-border,#3d6652);border-radius:8px;padding:24px;box-shadow:0 30px 100px #0008;font:14px/1.5 "Segoe UI",sans-serif}
.cp-eg-map-dialog h2{margin:8px 0;font-size:22px}.cp-eg-map-dialog h3{margin:20px 0 8px;font-size:12px}
.cp-eg-map-dialog p,.cp-eg-map-dialog li{font-size:12px}.cp-eg-map-dialog li{margin:10px 0}
.cp-eg-map-dialog img{display:block;width:100%;max-height:340px;object-fit:contain;background:#081e2b;border-radius:6px}
.cp-eg-map-close{float:right}.cp-eg-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:560px){.cp-eg-world .zombie{width:75px;height:124px}.cp-eg-map-dialog{padding:18px}}
@media(prefers-reduced-motion:reduce){.cp-eg-world .actor *,.cp-eg-world .footprint{animation:none!important;transition:none!important}.cp-easter-overlay{backdrop-filter:none}}
