#tech-helper{position:fixed;right:22px;bottom:max(14px,env(safe-area-inset-bottom));z-index:100;color:#eefaff;font:14px/1.5 var(--font)}#tech-helper [hidden]{display:none!important}#tech-helper button{font:inherit;color:inherit;cursor:pointer}#tech-helper button:focus-visible,#tech-helper a:focus-visible,#tech-helper input:focus-visible{outline:2px solid #58e2f4;outline-offset:3px}.helper-launch{display:flex;flex-direction:column;align-items:center;padding:0;background:none;border:0;width:130px;position:relative}.helper-launch svg{width:112px;height:119px;overflow:visible;filter:drop-shadow(0 4px 12px #0008)}.helper-launch-label{background:#10242ef5;border:1px solid #416674;border-radius:30px;padding:8px 11px;font-size:11px;box-shadow:0 5px 24px #0006}.helper-launch-label b{color:#4cdbed;margin-left:4px}.helper-hide{position:absolute;right:-6px;top:25px;background:#11212de8;border:1px solid #39515d;border-radius:50%;width:25px;height:25px;padding:0;font-size:18px!important}.bot-body{animation:bot-peek 12s ease-in-out infinite;transform-origin:80px 165px}.bot-wave{transform-origin:47px 135px;animation:bot-wave 12s ease-in-out infinite}.bot-head{transform-origin:84px 107px;animation:bot-read 12s ease-in-out infinite}.bot-eyes{transform-box:fill-box;transform-origin:center;animation:bot-blink 5s infinite}.tablet-lines{animation:tablet-work 3s ease-in-out infinite}.helper-nudge{position:absolute;right:3px;bottom:155px;width:218px;background:#15323f;border:1px solid #367183;border-radius:14px 14px 3px 14px;box-shadow:0 10px 40px #0007;display:flex;align-items:flex-start}.nudge-text{padding:13px 8px 13px 15px;text-align:left;background:none;border:0;font-size:13px!important}.nudge-dismiss{background:none;border:0;padding:4px 9px;font-size:20px!important}.helper-panel{width:365px;max-width:calc(100vw - 28px);height:530px;max-height:calc(100dvh - 105px);background:#0c1b25;border:1px solid #386172;border-radius:18px;box-shadow:0 20px 90px #0009;overflow:hidden;display:flex;flex-direction:column;margin-bottom:12px}.helper-heading{display:flex;justify-content:space-between;gap:8px;padding:19px 18px 14px;background:linear-gradient(120deg,#193d4b,#102430);border-bottom:1px solid #2b4653}.helper-kicker{font-size:9px;color:#58d9ee;letter-spacing:2px}.helper-heading h2{font-size:20px;letter-spacing:-.6px;margin:4px 0}.helper-heading p{font-size:11px;color:#a9c4d0;margin:0}.helper-close{background:none;border:0;font-size:26px!important;align-self:flex-start;padding:0 5px}.helper-log{flex:1;min-height:80px;overflow-y:auto;padding:16px;overscroll-behavior:contain}.helper-message{background:#18313f;border:1px solid #2b4958;border-radius:12px 12px 12px 3px;padding:12px;margin:0 20px 12px 0;font-size:13px;overflow-wrap:anywhere}.helper-message.visitor{margin:0 0 12px 25px;background:#175165;border-color:#23768b;border-radius:12px 12px 3px 12px}.helper-options{padding:0 15px 10px;display:flex;gap:6px;flex-wrap:wrap}.helper-options button{background:#102936;border:1px solid #3d6675;border-radius:20px;font-size:11px!important;padding:6px 10px}.helper-options button:hover{background:#1e4c5e}.helper-form{margin:0;padding:0 16px 12px;background:none;box-shadow:none;border:0;border-radius:0}.helper-form label{font-size:10px;margin:0 0 5px;color:#a3bfca}.helper-form>div{display:flex;gap:8px}.helper-form input{background:#07131c;border:1px solid #365564;border-radius:8px;padding:10px;min-width:0;font-size:16px}.helper-form button{background:#3bd4ea;color:#041923!important;border:0;border-radius:8px;width:42px;flex-shrink:0;font-size:22px!important}.helper-contact{display:flex;flex-wrap:wrap;gap:6px 22px;padding:10px 17px 13px;border-top:1px solid #294452}.helper-contact a{font-size:12px;color:#5edff0}.helper-contact span{width:100%;font-size:10px;color:#89a8b7}.is-open .helper-launch{width:auto;margin-left:auto}.is-open .helper-launch svg,.is-open .helper-hide{display:none}.is-mini .helper-launch svg,.is-mini .helper-hide{display:none}.is-mini .helper-launch{width:auto}.is-open .helper-launch-label{padding:8px 15px}@keyframes bot-peek{0%,35%,100%{transform:translateY(0)}50%,80%{transform:translateY(6px)}}@keyframes bot-wave{0%,5%,28%,100%{transform:rotate(0)}10%,20%{transform:rotate(19deg)}15%,25%{transform:rotate(-13deg)}40%,80%{transform:rotate(-22deg)}}@keyframes bot-read{0%,32%,90%,100%{transform:rotate(0)}45%,78%{transform:rotate(9deg) translateY(3px)}}@keyframes bot-blink{0%,42%,46%,100%{transform:scaleY(1)}44%{transform:scaleY(.1)}}@keyframes tablet-work{0%,100%{opacity:.4}50%{opacity:1}}@media(max-width:720px){#tech-helper{right:12px;bottom:max(10px,env(safe-area-inset-bottom))}.helper-launch{width:106px}.helper-launch svg{width:86px;height:91px}.helper-launch-label{font-size:10px;padding:7px 10px}.helper-hide{top:10px}.helper-nudge{bottom:126px;width:195px}.helper-panel{width:350px;max-height:calc(100dvh - 80px)}.is-open{left:14px}.is-open .helper-panel{width:100%;max-width:100%}}@media(prefers-reduced-motion:reduce){#tech-helper *{animation:none!important;transition:none!important}}


/* Same arms and grip; independent eyes, head and tool activities. */
.helper-launch{width:112px}.helper-launch .brand-bot{width:82px;height:99px;overflow:visible}.helper-launch-label{font-size:10px;padding:7px 10px}.helper-hide{top:19px;width:22px;height:22px}.helper-nudge{bottom:136px}
.original-head{transform-origin:590px 596px}.eye-look{transform-origin:550px 395px}.eye-blink{transform-origin:550px 395px;animation:working-blink 4.7s infinite}.screen-bounce{opacity:.52;transition:opacity .7s}.working-wrench{transform-origin:162px 652px}
[data-activity="read"] .original-head{animation:working-read 6.2s ease-in-out both}[data-activity="read"] .eye-look{animation:working-eyes-read 6.2s ease-in-out both}[data-activity="read"] .screen-bounce{opacity:1;animation:working-light 1.3s ease-in-out infinite}
[data-activity="look"] .original-head{animation:working-look 4s ease-in-out both}[data-activity="look"] .eye-look{animation:working-eyes-look 4s ease-in-out both}
[data-activity="trick"] .working-wrench{animation:working-toss 6s linear both}[data-activity="trick"] .original-head{animation:working-nod 6s ease-in-out both}[data-activity="trick"] .eye-look{animation:working-follow 6s ease-in-out both}
@keyframes working-read{0%,100%{transform:none}18%,80%{transform:rotate(6deg) translate(0,18px)}40%,60%{transform:rotate(7deg) translate(0,22px)}}
@keyframes working-eyes-read{0%,100%{transform:none}18%,80%{transform:translate(5px,28px)}40%,60%{transform:translate(-16px,33px)}}
@keyframes working-look{0%,100%{transform:none}25%,45%{transform:rotate(-6deg) translate(-8px,-6px)}65%,80%{transform:rotate(4deg) translate(6px,0)}}
@keyframes working-eyes-look{0%,100%{transform:none}20%,45%{transform:translate(-29px,-9px)}65%,80%{transform:translate(28px,3px)}}
@keyframes working-blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@keyframes working-light{0%,100%{opacity:.8}50%{opacity:1}}
@keyframes working-toss{0%,16%{transform:translate3d(0,0,0) rotate(0deg)}20%{transform:translate3d(0,18px,0) rotate(0deg)}20.9167%{transform:translate3d(-5.559px,-22.358px,0) rotate(-7.500deg)}21.8333%{transform:translate3d(-11.095px,-61.014px,0) rotate(-15.000deg)}22.7500%{transform:translate3d(-16.583px,-97.969px,0) rotate(-22.500deg)}23.6667%{transform:translate3d(-22.000px,-133.222px,0) rotate(-30.000deg)}24.5833%{transform:translate3d(-27.322px,-166.774px,0) rotate(-37.500deg)}25.5000%{transform:translate3d(-32.528px,-198.625px,0) rotate(-45.000deg)}26.4167%{transform:translate3d(-37.595px,-228.774px,0) rotate(-52.500deg)}27.3333%{transform:translate3d(-42.500px,-257.222px,0) rotate(-60.000deg)}28.2500%{transform:translate3d(-47.223px,-283.969px,0) rotate(-67.500deg)}29.1667%{transform:translate3d(-51.745px,-309.014px,0) rotate(-75.000deg)}30.0833%{transform:translate3d(-56.044px,-332.358px,0) rotate(-82.500deg)}31.0000%{transform:translate3d(-60.104px,-354.000px,0) rotate(-90.000deg)}31.9167%{transform:translate3d(-63.906px,-373.941px,0) rotate(-97.500deg)}32.8333%{transform:translate3d(-67.435px,-392.181px,0) rotate(-105.000deg)}33.7500%{transform:translate3d(-70.675px,-408.719px,0) rotate(-112.500deg)}34.6667%{transform:translate3d(-73.612px,-423.556px,0) rotate(-120.000deg)}35.5833%{transform:translate3d(-76.234px,-436.691px,0) rotate(-127.500deg)}36.5000%{transform:translate3d(-78.530px,-448.125px,0) rotate(-135.000deg)}37.4167%{transform:translate3d(-80.489px,-457.858px,0) rotate(-142.500deg)}38.3333%{transform:translate3d(-82.104px,-465.889px,0) rotate(-150.000deg)}39.2500%{transform:translate3d(-83.367px,-472.219px,0) rotate(-157.500deg)}40.1667%{transform:translate3d(-84.273px,-476.847px,0) rotate(-165.000deg)}41.0833%{transform:translate3d(-84.818px,-479.774px,0) rotate(-172.500deg)}42.0000%{transform:translate3d(-85.000px,-481.000px,0) rotate(-180.000deg)}42.9167%{transform:translate3d(-84.818px,-480.524px,0) rotate(-187.500deg)}43.8333%{transform:translate3d(-84.273px,-478.347px,0) rotate(-195.000deg)}44.7500%{transform:translate3d(-83.367px,-474.469px,0) rotate(-202.500deg)}45.6667%{transform:translate3d(-82.104px,-468.889px,0) rotate(-210.000deg)}46.5833%{transform:translate3d(-80.489px,-461.608px,0) rotate(-217.500deg)}47.5000%{transform:translate3d(-78.530px,-452.625px,0) rotate(-225.000deg)}48.4167%{transform:translate3d(-76.234px,-441.941px,0) rotate(-232.500deg)}49.3333%{transform:translate3d(-73.612px,-429.556px,0) rotate(-240.000deg)}50.2500%{transform:translate3d(-70.675px,-415.469px,0) rotate(-247.500deg)}51.1667%{transform:translate3d(-67.435px,-399.681px,0) rotate(-255.000deg)}52.0833%{transform:translate3d(-63.906px,-382.191px,0) rotate(-262.500deg)}53.0000%{transform:translate3d(-60.104px,-363.000px,0) rotate(-270.000deg)}53.9167%{transform:translate3d(-56.044px,-342.108px,0) rotate(-277.500deg)}54.8333%{transform:translate3d(-51.745px,-319.514px,0) rotate(-285.000deg)}55.7500%{transform:translate3d(-47.223px,-295.219px,0) rotate(-292.500deg)}56.6667%{transform:translate3d(-42.500px,-269.222px,0) rotate(-300.000deg)}57.5833%{transform:translate3d(-37.595px,-241.524px,0) rotate(-307.500deg)}58.5000%{transform:translate3d(-32.528px,-212.125px,0) rotate(-315.000deg)}59.4167%{transform:translate3d(-27.322px,-181.024px,0) rotate(-322.500deg)}60.3333%{transform:translate3d(-22.000px,-148.222px,0) rotate(-330.000deg)}61.2500%{transform:translate3d(-16.583px,-113.719px,0) rotate(-337.500deg)}62.1667%{transform:translate3d(-11.095px,-77.514px,0) rotate(-345.000deg)}63.0833%{transform:translate3d(-5.559px,-39.608px,0) rotate(-352.500deg)}64.0000%{transform:translate3d(-0.000px,0.000px,0) rotate(-360.000deg)}67%{transform:translate3d(0,12px,0) rotate(-360deg)}71%,100%{transform:translate3d(0,0,0) rotate(-360deg)}}
@keyframes working-nod{0%,18%,65%,100%{transform:none}30%,48%{transform:rotate(-6deg) translateY(-12px)}75%,88%{transform:rotate(6deg) translateY(16px)}82%,95%{transform:none}}
@keyframes working-follow{0%,16%,65%,100%{transform:none}30%,50%{transform:translate(-28px,-22px)}75%,88%{transform:translateY(15px)}}
@media(max-width:720px){.helper-launch{width:96px}.helper-launch .brand-bot{width:68px;height:82px}.helper-hide{top:12px}.helper-nudge{bottom:117px}}
@media(prefers-reduced-motion:reduce){#tech-helper *{animation:none!important;transition:none!important}}

[data-activity="trick"] .working-wrench{will-change:transform;backface-visibility:hidden}.helper-launch .brand-bot{filter:none}

/* Free hand stays part of the original artwork. Tools appear only during a trick. */
.tool-reveal{opacity:0;visibility:hidden}
[data-activity="trick"] .tool-reveal{visibility:visible;animation:tool-reveal 6s ease-in-out both}
.free-arm{transform-origin:330px 800px}

[data-activity="read"] .free-arm{animation:free-type 6.2s ease-in-out both}
[data-activity="read"] .screen-bounce{filter:brightness(1.75);animation:typing-glow .85s ease-in-out infinite}
@keyframes tool-reveal{0%,100%{transform:translate(100px,40px) rotate(-135deg)}14%,73%{transform:none}94%{transform:translate(100px,40px) rotate(-135deg)}}
@keyframes free-wave{0%,100%{transform:none}20%,48%,76%{transform:rotate(12deg)}34%,62%{transform:rotate(-10deg)}}
@keyframes free-type{0%,100%{transform:none}15%,85%{transform:rotate(135deg)}23%,39%,55%,71%{transform:rotate(132deg)}31%,47%,63%,79%{transform:rotate(137deg)}}
@keyframes typing-glow{0%,100%{opacity:.82}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.tool-reveal{display:none}#tech-helper *{animation:none!important;transition:none!important}}

/* Palm-forward wave, with the gripping arm reserved for work. */
.free-arm{opacity:0;visibility:visible;transition:opacity .45s ease}.wave-arm{visibility:visible}
.wave-arm{transform-origin:330px 800px}
#tech-helper:not([data-activity="read"]):not([data-activity="trick"]) .wave-arm{visibility:visible;animation:palm-wave 3.8s ease-in-out infinite}
[data-activity="read"] .free-arm{opacity:1;visibility:visible}
.tool-reveal{transform-origin:330px 800px;opacity:1}
@keyframes palm-wave{0%,100%{transform:rotate(-3deg)}25%,65%{transform:rotate(7deg)}45%,85%{transform:rotate(-7deg)}}
/* Tail ends beside his head; the bubble stays attached at both sizes. */
.helper-nudge{bottom:calc(100% - 15px);right:42px;width:210px;border-radius:15px;z-index:2}
.helper-nudge::after{content:"";position:absolute;right:12px;bottom:-9px;width:16px;height:16px;background:#15323f;border-right:1px solid #367183;border-bottom:1px solid #367183;transform:skewY(18deg) rotate(35deg);border-bottom-right-radius:3px}
.nudge-text{position:relative;z-index:1}
@media(max-width:720px){.helper-nudge{right:35px;width:min(195px,calc(100vw - 65px));bottom:calc(100% - 12px)}}
@media(prefers-reduced-motion:reduce){#tech-helper *{animation:none!important;transition:none!important}.tool-stage{display:none}}

/* Open the same gray glove gradually, keeping its wrist anchored. */
.wave-entrance{opacity:0;transform-origin:330px 800px;transform:rotate(-6deg);transition:opacity .5s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.open-palm{transform-origin:205px 780px;transform:scaleY(.68);transition:transform .8s cubic-bezier(.22,.61,.36,1)}
#tech-helper:not([data-activity="read"]):not([data-activity="trick"]) .wave-entrance{opacity:1;transform:none}
#tech-helper:not([data-activity="read"]):not([data-activity="trick"]) .open-palm{transform:scaleY(1)}
.screen-bounce{opacity:.32;transition:opacity .65s,filter .65s}
[data-activity="read"] .screen-bounce{opacity:1;filter:brightness(2.5) saturate(1.2);animation:typing-glow 1.1s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){#tech-helper *{animation:none!important;transition:none!important}}

/* Keep the entire speech bubble and its tail above the animated head. */
#tech-helper .helper-nudge{bottom:calc(100% + 22px);right:0;width:min(220px,calc(100vw - 40px))}#tech-helper .helper-nudge::after{right:48px;bottom:-9px}@media(max-width:720px){#tech-helper .helper-nudge{bottom:calc(100% + 20px);right:0}#tech-helper .helper-nudge::after{right:37px}}
