/* The artwork stays intact; a small canvas deformation gives its ears and head life. */
.specimen{isolation:isolate}
.rabbit-art{animation:none;transform-origin:50% 62%;will-change:transform;transition:filter .4s;z-index:2}
.hero .rabbit-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;mix-blend-mode:lighten;mask-image:radial-gradient(ellipse at 50% 48%,black 40%,transparent 74%);pointer-events:none}
.rabbit-art.is-rendered>img{opacity:0}
.hero .rabbit-art.is-rendered .rabbit-canvas{opacity:1}
.rabbit-aura{position:absolute;inset:14% 8% 7%;background:radial-gradient(ellipse at var(--aura-x,53%) var(--aura-y,65%),#b0ff661c,transparent 61%);opacity:.22;z-index:0;pointer-events:none;transition:opacity .7s;filter:blur(18px)}
.specimen[data-attention="curious"] .rabbit-aura{opacity:.8}
.rabbit-note{transition:color .35s;pointer-events:none;min-width:113px}
.specimen[data-attention="curious"] .rabbit-note{color:#a4bc8e}
.knock-lights{position:absolute;left:calc(26% + 1px);bottom:6%;display:flex;gap:7px;z-index:3;pointer-events:none;opacity:0;transition:opacity .3s}
.knock-lights i{width:4px;height:4px;border:1px solid #c2ff7950;border-radius:50%;transition:background .18s,box-shadow .18s}
.specimen[data-knocks] .knock-lights{opacity:1}
.specimen[data-knocks="1"] .knock-lights i:first-child,.specimen[data-knocks="2"] .knock-lights i:nth-child(-n+2),.specimen[data-knocks="3"] .knock-lights i{background:#c2ff79;box-shadow:0 0 11px #c2ff7980}
.specimen.is-discovering .rabbit-aura{opacity:1;background:radial-gradient(ellipse at 58% 55%,#b9ff7760,transparent 65%)}
.specimen.is-discovering .orbital{border-color:#c2ff7975;transition:border-color .2s}
.specimen.is-discovering .rabbit-art{filter:brightness(1.22)}
.passage{position:fixed;inset:0;z-index:50;overflow:hidden;background:rgba(4,8,5,var(--veil,0));cursor:pointer;opacity:1;touch-action:manipulation}
.passage[hidden]{display:none}
.passage canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.passage-caption{position:absolute;top:calc(50% + 120px);left:0;right:0;text-align:center;font:8px var(--mono);letter-spacing:.29em;color:#b5d09d;pointer-events:none;opacity:var(--caption,0)}
.passage-skip{position:absolute;right:5%;bottom:34px;display:flex;gap:20px;align-items:center;padding:12px;font:9px var(--mono);color:#a6b69a;opacity:.75}
.passage-skip:hover{color:var(--green);opacity:1}
.passage-skip span{font-size:7px;color:#708862}
.passage-active{overflow:hidden}
.playground.has-arrived .app-card{animation:door-arrives .62s cubic-bezier(.17,.8,.25,1) both;animation-delay:calc(var(--door,0)*65ms)}
.playground.has-arrived .section-heading{animation:heading-arrives .7s ease both}
@keyframes door-arrives{from{opacity:.35;transform:translateY(18px);border-color:#c2ff7970;box-shadow:inset 0 0 40px #c2ff790c}to{opacity:1;transform:translateY(0);border-color:#ffffff16;box-shadow:inset 0 0 0 transparent}}
@keyframes heading-arrives{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.paused .hero .rabbit-art.is-rendered .rabbit-canvas{opacity:1}
@media(max-width:700px){.rabbit-note{min-width:96px}.knock-lights{left:25%;bottom:9%;gap:6px}.knock-lights i{width:3px;height:3px}.passage-caption{font-size:7px;letter-spacing:.2em;top:calc(50% + 105px)}.passage-skip{font-size:8px;bottom:22px;right:5%}}
@media(prefers-reduced-motion:reduce){.rabbit-art{transform:none!important}.rabbit-aura{transition:none}.playground.has-arrived .app-card,.playground.has-arrived .section-heading{animation:none}}
