/* ChickFarm v3 real 3D mascot — integrates with existing Nova CSS without changing API or other pages. */
.cfm-stage{--cfm-bright:#d3ff83;--cfm-mist:rgba(189,255,130,.2);position:relative;isolation:isolate;min-height:220px;touch-action:pan-y;user-select:none;contain:layout style;}
body[data-theme="midnight"] .cfm-stage{--cfm-bright:#9ebaff;--cfm-mist:rgba(129,158,255,.23)}
body[data-theme="arcade"] .cfm-stage{--cfm-bright:#7effd5;--cfm-mist:rgba(98,255,221,.22)}
.cfm-stage::before{content:'';pointer-events:none;position:absolute;inset:12% 9% 13%;z-index:0;border-radius:50%;background:radial-gradient(circle at 50% 47%,var(--cfm-mist),transparent 65%);filter:blur(13px)}
.cfm-stage::after{content:'';pointer-events:none;position:absolute;bottom:14%;left:20%;width:60%;height:10%;background:radial-gradient(ellipse,rgba(0,0,0,.38),transparent 70%);filter:blur(11px);z-index:0}
.cfm-interact{position:absolute;inset:0;overflow:hidden;cursor:grab;outline-offset:-5px;border-radius:inherit;}
.cfm-interact:focus-visible{outline:3px solid var(--cfm-bright)}
.cfm-dragging .cfm-interact{cursor:grabbing}
.cfm-canvas,.cfm-fallback{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;z-index:2}
.cfm-canvas{opacity:0;transition:opacity .55s ease;}
.cfm-ready .cfm-canvas{opacity:1}
.cfm-fallback{opacity:1;filter:drop-shadow(10px 24px 20px rgba(4,15,8,.27));transition:opacity .5s ease;z-index:1;object-fit:contain;object-position:50% 49%;}
.cfm-ready .cfm-fallback{opacity:0;visibility:hidden}
.cfm-status{position:absolute;left:50%;bottom:19%;transform:translateX(-50%);text-align:center;white-space:nowrap;color:#d6eaba;font-size:10px;font-weight:800;letter-spacing:.1em;text-shadow:0 2px 7px #132516;z-index:4}
.cfm-ready .cfm-status{display:none}
.cfm-actions{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 12px);display:flex;justify-content:center;gap:8px;z-index:9;}
.cfm-action{cursor:pointer;pointer-events:auto;background:rgba(15,36,24,.78);border:1px solid rgba(215,255,178,.4);backdrop-filter:blur(12px);color:#f2ffe0;letter-spacing:.09em;font-size:10px;font-weight:900;border-radius:999px;padding:11px 15px;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.2);transition:background .2s,transform .2s,border-color .2s;color:var(--cfm-bright)}
.cfm-action:hover,.cfm-action:focus-visible{background:rgba(33,80,52,.94);transform:translateY(-2px);border-color:var(--cfm-bright)}
.cfm-action[aria-pressed="true"]{background:rgba(142,109,16,.88);color:#fff1a8;border-color:#ffe397}
.cfm-hint{position:absolute;bottom:54px;left:0;right:0;font-weight:850;font-size:9px;letter-spacing:.14em;color:#c8ecb1;text-align:center;text-shadow:0 2px 10px #05180e;pointer-events:none;opacity:.72;z-index:8}
.cfm-orb{position:absolute;z-index:3;pointer-events:none;border-radius:50%;border:1px solid var(--cfm-mist);transform:rotateX(69deg);}
.cfm-orb-a{width:61%;height:46%;top:43%;left:21%;animation:cfm-orbit-a 16s linear infinite}
.cfm-orb-b{width:70%;height:50%;top:37%;left:15%;border-style:dashed;opacity:.65;animation:cfm-orbit-a 27s linear reverse infinite}
.cfm-orb-c{width:50%;height:40%;top:49%;left:25%;opacity:.36}
.cfm-burst{position:absolute;z-index:10;pointer-events:none;top:43%;left:29%;width:57%;text-align:center;letter-spacing:18px;color:#fff0a2;text-shadow:0 0 16px #fff3aa,0 0 40px #c8ff9f;font-size:25px;animation:cfm-burst 1.1s ease-out both}
@keyframes cfm-burst{0%{opacity:0;transform:translateY(12px) scale(.55)}18%{opacity:1}100%{opacity:0;transform:translateY(-145px) scale(1.45)}}
@keyframes cfm-orbit-a{to{rotate:360deg}}
/* Replace only the hero mascot art. Keep haloes, stickers and original hero layout. */
.hero-visual .cfm-stage--hero{position:absolute;top:10px;right:7%;width:83%;height:85%;z-index:3;pointer-events:auto}
.hero-visual .cfm-stage--hero .cfm-fallback{width:105%;height:100%;left:-1%;top:-2%;transform:rotate(-8deg)}
.hero-visual .cfm-stage--hero .cfm-orb{opacity:.20}
.hero-visual .cfm-stage--hero .cfm-actions{bottom:1%}
.hero-visual .cfm-stage--hero .cfm-hint{bottom:53px}
.hero-visual .cfm-stage--hero .cfm-status{bottom:22%}
/* The coopverse scene now shows the same ChickFarm mascot, not CSS voxels. */
.nova-world-feature .nova-world-inner>.cfm-stage--feature{height:420px;min-width:0;max-width:100%;border:1px solid rgba(195,255,124,.13);border-radius:34px;background:radial-gradient(ellipse at 50% 60%,rgba(139,224,110,.13),rgba(255,255,255,.015) 64%,transparent 81%);box-shadow:inset 0 0 80px rgba(188,255,117,.035)}
.nova-world-feature .cfm-stage--feature .cfm-interact{border-radius:34px}
.nova-world-feature .cfm-stage--feature .cfm-hint{bottom:59px}
/* Store: replace static pseudo-3D egg with the golden ChickFarm chicken. */
.nova-orbit-stage .cfm-stage--store{position:absolute;inset:0;z-index:4;min-height:0}
.nova-orbit-stage .cfm-stage--store .cfm-actions{bottom:9px}
.nova-orbit-stage .cfm-stage--store .cfm-orb{display:none}
.nova-orbit-stage .cfm-stage--store .cfm-hint{bottom:58px}
.nova-orbit-stage .cfm-stage--store .cfm-fallback{filter:sepia(.56) saturate(1.4) drop-shadow(0 14px 24px rgba(0,0,0,.35))}
.nova-orbit-stage .nova-platform{z-index:2}
.nova-orbit-stage .nova-floating-chip{z-index:6;pointer-events:none}
/* Theme-specific ambient effects use existing body data-theme, while scene lighting updates in JS. */
.cfm-ready.cfm-hover:before{filter:blur(20px);opacity:1}
.cfm-celebrate .cfm-orb-a{border-color:var(--cfm-bright)}
@media(max-width:1250px){.hero-visual .cfm-stage--hero{right:5%;width:88%}}
@media(max-width:980px){.hero-visual .cfm-stage--hero{width:89%;height:80%;top:8%;right:6%}}
@media(max-width:680px){
 .hero-visual .cfm-stage--hero{top:8%;height:85%;width:90%;right:5%}
 .cfm-action{font-size:9px;padding:9px 11px}
 .cfm-hint{font-size:8px;letter-spacing:.075em}
 .nova-world-feature .nova-world-inner>.cfm-stage--feature{height:340px;order:-1}
 .cfm-orb-a,.cfm-orb-b{opacity:.25}
 .nova-orbit-stage .cfm-stage--store{inset:0 4%}
}
@media(max-width:400px){
 .nova-world-feature .nova-world-inner>.cfm-stage--feature{height:290px}
 .hero-visual .cfm-stage--hero .cfm-hint{bottom:45px}
 .cfm-actions{gap:5px}
 .cfm-action{font-size:8px;padding:8px 9px}
}
@media(prefers-reduced-motion:reduce){.cfm-orb,.cfm-burst{animation:none!important}.cfm-canvas,.cfm-fallback{transition:none!important}}

.cfm-unavailable .cfm-actions,.cfm-unavailable .cfm-hint{display:none!important}
.cfm-unavailable .cfm-interact{cursor:default}
.cfm-unavailable .cfm-fallback{opacity:1;visibility:visible}

/* Clip decorative rings and hero haloes at the viewport edge without horizontal scrolling. */
body.nova-site,body.nova-portal{overflow-x:clip}
