.conso-stage{--size:220px;--green:#3fd98a;--green-soft:rgba(63,217,138,.55);--green-faint:rgba(63,217,138,.14);position:relative;width:var(--size);height:calc(var(--size) * 1.7);display:flex;align-items:center;justify-content:center}.conso-shadow{position:absolute;bottom:calc(var(--size) * .06);width:calc(var(--size) * .62);height:calc(var(--size) * .1);background:var(--green);border-radius:50%;filter:blur(14px);opacity:.35;animation:shadowPulse 5s ease-in-out infinite}.conso{position:relative;width:calc(var(--size) * .84);height:calc(var(--size) * 1.16);border-radius:16px;background:linear-gradient(155deg,rgba(46,54,46,.72) 0%,rgba(20,26,20,.82) 100%);border:1px solid rgba(63,217,138,.22);box-shadow:0 0 22px 2px rgba(63,217,138,.28),inset 0 0 24px rgba(63,217,138,6%);backdrop-filter:blur(2px);overflow:hidden;animation:float 5.2s ease-in-out infinite,glow 4.4s ease-in-out infinite;transform-origin:center}.conso-bar{height:22px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid rgba(63,217,138,.16);background:rgba(63,217,138,5%)}.conso-bar i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green-soft)}.conso-screen{position:relative;height:calc(100% - 22px);overflow:hidden}.conso-flash{position:absolute;inset:0;background:var(--green);opacity:0;pointer-events:none;mix-blend-mode:screen}.conso-code{position:absolute;inset:0;padding:14px 12px;color:var(--green-faint);font-size:9px;line-height:1.7;white-space:pre;animation:codeScroll 14s linear infinite}.conso-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 6px var(--green-soft))}.conso-face svg{width:64%;height:auto;overflow:visible}.conso-face .stroke{fill:none;stroke:var(--green);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.conso-face .thin{stroke-width:5}.conso-face .fillg{fill:var(--green);stroke:none}.expr{opacity:0}.cursor{animation:blink 1.1s steps(1)infinite}.g-idle{animation:cycIdle 7.5s ease-in-out infinite}.g-smile{animation:cycSmile 7.5s ease-in-out infinite}.g-wink{animation:cycWink 7.5s ease-in-out infinite}.g-think{animation:cycThink 7.5s ease-in-out infinite}.g-think .d1{animation:thinkDot 1.2s ease-in-out infinite}.g-think .d2{animation:thinkDot 1.2s ease-in-out infinite .2s}.g-think .d3{animation:thinkDot 1.2s ease-in-out infinite .4s}.is-confused .g-idle,.is-confused .g-smile,.is-confused .g-wink,.is-confused .g-think{animation:none;opacity:0}.g-confused{opacity:0}.is-confused .g-confused{opacity:1;animation:confusedShake .5s ease-in-out infinite}.is-success .g-idle,.is-success .g-wink,.is-success .g-think,.is-success .g-smile{animation:none;opacity:0}.g-success{opacity:0}.is-success .g-success{opacity:1;animation:successBounce 1.4s ease-in-out infinite}.is-success .conso-flash{animation:successFlash 1.4s ease-out infinite}.is-success .conso{animation:float 5.2s ease-in-out infinite,glowSuccess 1.4s ease-in-out infinite}.is-success .conso-pixel{animation-duration:3.2s;opacity:.9}.spark{opacity:0}.is-success .spark{animation:sparkle 1.4s ease-in-out infinite}.conso-pixel{position:absolute;width:5px;height:5px;background:var(--green);border-radius:1px;box-shadow:0 0 6px var(--green-soft);opacity:.7}.p1{top:12%;left:-6%;animation:drift1 6s ease-in-out infinite}.p2{top:70%;left:104%;animation:drift2 7.5s ease-in-out infinite}.p3{top:32%;left:108%;width:4px;height:4px;animation:drift3 5.4s ease-in-out infinite}.p4{top:88%;left:-4%;width:4px;height:4px;animation:drift1 8s ease-in-out infinite .8s}.p5{top:-4%;left:60%;width:3px;height:3px;animation:drift3 6.6s ease-in-out infinite 1.2s}@keyframes float{0%,100%{transform:translateY(0)rotate(-1.2deg)}50%{transform:translateY(-12px)rotate(1.2deg)}}@keyframes glow{0%,100%{box-shadow:0 0 20px 1px rgba(63,217,138,.22),inset 0 0 24px rgba(63,217,138,5%)}50%{box-shadow:0 0 34px 4px rgba(63,217,138,.42),inset 0 0 30px rgba(63,217,138,.1)}}@keyframes glowSuccess{0%,100%{box-shadow:0 0 30px 3px rgba(63,217,138,.5)}50%{box-shadow:0 0 52px 8px rgba(63,217,138,.8)}}@keyframes shadowPulse{0%,100%{opacity:.3;transform:scaleX(1)}50%{opacity:.45;transform:scaleX(.86)}}@keyframes codeScroll{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}@keyframes successFlash{0%{opacity:.5}30%{opacity:0}100%{opacity:0}}@keyframes thinkDot{0%,100%{opacity:.25}50%{opacity:1}}@keyframes confusedShake{0%,100%{transform:translateX(-2px)}50%{transform:translateX(2px)}}@keyframes successBounce{0%,100%{transform:translateY(1px)scale(1)}50%{transform:translateY(-2px)scale(1.06)}}@keyframes sparkle{0%,100%{opacity:0;transform:scale(.6)}45%,55%{opacity:1;transform:scale(1)}}@keyframes cycIdle{0%,20%{opacity:1}24%,34%{opacity:0}38%,50%{opacity:1}54%,62%{opacity:0}66%,74%{opacity:1}78%,90%{opacity:0}94%,100%{opacity:1}}@keyframes cycSmile{0%,22%{opacity:0}26%,32%{opacity:1}36%,100%{opacity:0}}@keyframes cycWink{0%,52%{opacity:0}56%,60%{opacity:1}64%,100%{opacity:0}}@keyframes cycThink{0%,76%{opacity:0}80%,88%{opacity:1}92%,100%{opacity:0}}@keyframes drift1{0%,100%{transform:translate(0,0);opacity:.2}50%{transform:translate(10px,-14px);opacity:.8}}@keyframes drift2{0%,100%{transform:translate(0,0);opacity:.2}50%{transform:translate(-16px,-10px);opacity:.75}}@keyframes drift3{0%,100%{transform:translate(0,0);opacity:.15}50%{transform:translate(-12px,12px);opacity:.7}}@media(prefers-reduced-motion:reduce){.conso,.conso-shadow,.conso-code,.conso-pixel,.conso-flash,.spark,.expr,.cursor,.g-think .d1,.g-think .d2,.g-think .d3{animation:none!important}.g-idle{opacity:1}.is-confused .g-idle{opacity:0}.is-confused .g-confused{opacity:1}.is-success .g-idle{opacity:0}.is-success .g-success{opacity:1}}