:root{--ink:#0b1120;--paper:#f5f5f0;--lime:#d7fa4b;--line:rgba(11,17,32,.15);--muted:#667083;--serif:"Noto Sans SC",sans-serif;--sans:"Manrope","Noto Sans SC",sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;overflow-x:hidden}.cursor-glow{position:fixed;width:420px;height:420px;left:-210px;top:-210px;border-radius:50%;background:radial-gradient(circle,rgba(215,250,75,.1),transparent 68%);pointer-events:none;z-index:0}.site-header{height:80px;padding:0 max(4vw,28px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(245,245,240,.15);color:#fff;position:absolute;inset:0 0 auto;z-index:8}.brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:11px;font-weight:800;font-size:20px;letter-spacing:-1px}.brand>span>span{color:var(--lime)}.brand-mark{display:flex;gap:3px;align-items:flex-end;height:20px}.brand-mark i{width:4px;border-radius:3px;background:var(--lime);display:block;transform:skewY(-22deg)}.brand-mark i:nth-child(1){height:9px}.brand-mark i:nth-child(2){height:15px}.brand-mark i:nth-child(3){height:20px}.main-nav{display:flex;gap:28px;margin-left:80px}.main-nav a{color:rgba(255,255,255,.72);font-size:13px;text-decoration:none;transition:.2s}.main-nav a:hover{color:var(--lime)}.header-actions{display:flex;align-items:center;gap:13px;position:relative}.language-switch{border:0;background:transparent;color:#fff;display:flex;align-items:center;gap:6px;font:500 12px var(--sans);padding:9px;cursor:pointer}.language-switch svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}.chevron{font-size:14px;color:#9ba3b1}.language-menu{display:none;position:absolute;right:120px;top:48px;background:#fff;box-shadow:0 12px 30px #0002;padding:5px;width:100px}.language-menu.is-open{display:block}.language-menu button{border:0;background:transparent;width:100%;text-align:left;padding:8px;color:var(--ink);font:13px var(--sans);cursor:pointer}.language-menu button:hover{background:#eff4d5}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--lime);color:var(--ink);font-weight:700;font-size:13px;text-decoration:none;padding:15px 21px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#e4ff7e}.button span,.plan-button span,.contact-mail span{font-size:19px;line-height:0}.button-small{padding:10px 15px;font-size:12px}.hero{min-height:780px;background:var(--ink);color:#fff;position:relative;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(400px,.97fr);align-items:center;padding:135px max(6vw,40px) 95px;overflow:hidden}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 77%)}.hero-copy,.hero-visual{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;gap:9px;color:#aeb9c9;font:11px var(--mono);letter-spacing:1.3px;margin:0 0 22px}.eyebrow>span:first-child{width:22px;height:1px;background:var(--lime);display:block}.hero h1,.section-heading h2,.process h2,.faq h2,.contact-section h2{font-weight:700;font-size:clamp(45px,5.5vw,82px);line-height:1.1;letter-spacing:-4px;margin:0;max-width:700px}.hero h1 em,.section-heading em,.process h2 em,.faq h2 em,.contact-section h2 em{font-style:normal;color:var(--lime);font-family:Georgia,"Noto Serif SC",serif;font-weight:400;letter-spacing:-3px}.hero-text{color:#bac3d0;line-height:1.9;max-width:470px;margin:27px 0;font-size:16px}.hero-actions{display:flex;align-items:center;gap:26px}.text-link{color:#fff;text-decoration:none;font-size:13px;font-weight:600}.text-link span{padding-left:6px;color:var(--lime);font-size:18px}.proof-row{display:flex;gap:34px;margin-top:73px}.proof-row div{display:flex;flex-direction:column;gap:4px}.proof-row strong{font:500 20px var(--mono);color:var(--lime)}.proof-row span{font-size:11px;color:#909bab}.hero-visual{height:475px}.world-globe{position:absolute;width:380px;height:380px;right:8%;top:42px;border-radius:50%;border:1px solid rgba(215,250,75,.66);overflow:hidden;background:radial-gradient(circle at 30% 27%,#263346,#121c2c 63%);box-shadow:inset -36px -22px 65px #02050b,0 0 70px rgba(215,250,75,.13)}.globe-lines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 37px,rgba(215,250,75,.2) 38px,transparent 40px),repeating-linear-gradient(90deg,transparent 0,transparent 52px,rgba(215,250,75,.14) 53px,transparent 55px);border-radius:50%;transform:perspective(400px) rotateX(58deg) scale(1.6);opacity:.9}.land{position:absolute;background:#718843;opacity:.8;filter:blur(1px);border-radius:53% 47% 45% 55%}.land-a{width:130px;height:96px;top:91px;left:60px;transform:rotate(-23deg)}.land-b{width:87px;height:145px;top:161px;left:180px;transform:rotate(12deg);border-radius:55% 45% 62% 38%}.land-c{width:70px;height:47px;top:106px;right:26px;transform:rotate(9deg)}.pin{width:7px;height:7px;background:var(--lime);border-radius:50%;position:absolute;box-shadow:0 0 0 6px #d7fa4b25,0 0 17px #d7fa4b}.pin-a{left:115px;top:141px}.pin-b{left:223px;top:236px}.pin-c{right:66px;top:132px}.orbit{position:absolute;border:1px solid rgba(215,250,75,.23);border-radius:50%;left:0;right:0;margin:auto;transform:rotate(-25deg)}.orbit-a{width:540px;height:215px;top:135px}.orbit-b{width:500px;height:330px;top:70px;transform:rotate(31deg)}.orbit-c{width:450px;height:490px;top:-3px;transform:rotate(0deg)}.stat-card{position:absolute;background:#f4f5ec;color:var(--ink);padding:12px 14px;display:flex;flex-direction:column;gap:4px;box-shadow:0 16px 36px #0004}.stat-card b{font-size:12px}.stat-card small{font:9px var(--mono);letter-spacing:.2px;color:#657082}.card-a{right:3%;top:38px}.card-b{left:4%;bottom:22px}.status-dot{position:absolute;left:-5px;top:13px;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px #d7fa4b24}.signal-lines{position:absolute;right:-16px;bottom:30px;width:130px;height:70px;border-left:1px solid var(--lime);border-bottom:1px solid var(--lime)}.signal-lines i{position:absolute;background:var(--lime);height:1px;transform-origin:left}.signal-lines i:nth-child(1){width:55px;left:-49px;top:20px;transform:rotate(-24deg)}.signal-lines i:nth-child(2){width:70px;left:-58px;top:43px;transform:rotate(-42deg)}.signal-lines i:nth-child(3){width:40px;left:-25px;top:63px;transform:rotate(-67deg)}.hero-scroll{position:absolute;bottom:27px;right:max(6vw,40px);font:10px var(--mono);letter-spacing:1px;color:#8290a3;display:flex;align-items:center;gap:12px}.hero-scroll span{width:45px;height:1px;background:#627083}.ticker{overflow:hidden;background:var(--lime);height:54px;display:flex;align-items:center;white-space:nowrap}.ticker-track{display:flex;align-items:center;gap:25px;font:700 14px var(--mono);letter-spacing:.4px;animation:marquee 22s linear infinite}.ticker-track b{font-size:15px}@keyframes marquee{to{transform:translateX(-35%)}}.section{padding:125px max(6vw,40px)}.section-dark{background:var(--ink);color:#fff}.split-heading{display:grid;grid-template-columns:1.3fr .7fr;grid-template-areas:"eye eye" "heading text";gap:0 50px;align-items:end}.split-heading .eyebrow{grid-area:eye}.split-heading h2{grid-area:heading;font-size:clamp(38px,4.4vw,62px)}.split-heading>p:last-child{grid-area:text;color:#aab4c3;line-height:1.9;max-width:400px;margin-bottom:6px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:61px}.service-card{min-height:345px;border:1px solid rgba(255,255,255,.16);padding:27px;position:relative;display:flex;flex-direction:column;transition:.25s}.service-card:hover{border-color:var(--lime);transform:translateY(-4px)}.service-card-featured{background:#182333}.card-number{font:11px var(--mono);letter-spacing:.5px;color:#8490a1}.icon{font:400 49px/1 Georgia;color:var(--lime);margin:44px 0 22px}.icon-globe{font-size:58px}.service-card h3{font-size:20px;margin:0 0 12px;letter-spacing:-.8px}.service-card p{font-size:13px;line-height:1.8;color:#aab5c4;margin:0}.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:26px}.card-tags span{font:10px var(--mono);border:1px solid #7d899a66;padding:5px 7px;color:#bbc3d0}.service-card-wide{grid-column:span 3;min-height:190px;background:linear-gradient(100deg,#131d2b,#0d1420);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.wide-copy{max-width:600px}.wide-copy h3{margin-top:13px}.wide-tags{align-self:center;flex-shrink:0;margin-top:0;padding-top:0;padding-right:2vw}.plans{background:#f5f5f0}.plan-heading{display:flex;justify-content:space-between;align-items:flex-end}.plan-heading h2{font-size:clamp(38px,4.4vw,62px)}.plan-heading h2 em,.faq h2 em{color:#607d10}.eyebrow.dark{color:#657080}.eyebrow.dark>span:first-child{background:#7f9c19}.plan-heading>p{max-width:370px;color:#596474;font-size:14px;line-height:1.8;margin:0 0 6px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:60px}.plan-card{background:#fff;border:1px solid #d9dcd4;min-height:665px;display:flex;flex-direction:column;padding:29px;position:relative}.plan-card.featured-plan{background:var(--ink);color:#fff;border-color:var(--ink;);transform:translateY(-15px);box-shadow:0 24px 42px #07112128}.recommended{position:absolute;right:0;top:0;background:var(--lime);color:var(--ink);font:10px var(--mono);font-weight:bold;padding:8px 10px}.plan-index{font:10px var(--mono);color:#7b8796;letter-spacing:.5px}.plan-card h3{font-size:27px;line-height:1.2;letter-spacing:-1.4px;margin:19px 0 8px}.plan-top p{font-size:12px;color:#788291;margin:0}.price{display:flex;align-items:baseline;margin-top:28px}.price sup{font:700 17px var(--mono)}.price strong{font-size:52px;line-height:1;letter-spacing:-3px}.price span{font-size:12px;color:#748090;padding-left:6px}.featured-plan .price span,.featured-plan li,.featured-plan .plan-note{color:#acb7c6}.plan-validity{display:inline-block;margin:14px 0 0;padding:8px 14px;background:var(--lime);color:var(--ink);font:700 12px var(--mono);letter-spacing:.6px}.plan-validity + .plan-divider{margin:18px 0 25px}.plan-divider{height:1px;background:#dfe2dc;margin:25px 0}.featured-plan .plan-divider{background:#ffffff2e}.plan-card ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.plan-card li{font-size:12px;color:#4d5a6c;line-height:1.5;padding-left:16px;position:relative}.plan-card li:before{content:"✓";position:absolute;left:0;color:#79921a;font-weight:bold}.featured-plan li:before{color:var(--lime)}.plan-note{font-size:11px;color:#7a8492;line-height:1.7;margin:24px 0 20px}.plan-button{border:1px solid #a3aeb9;color:var(--ink);text-decoration:none;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:12px;margin-top:auto}.plan-button.filled{background:var(--lime);border-color:var(--lime)}.disclaimer{color:#6b7480;font-size:11px;line-height:1.7;margin:35px 0 0;max-width:810px}.process{padding-bottom:110px}.process-top h2{font-size:clamp(38px,4.4vw,61px)}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:64px;border-top:1px solid #ffffff2c}.steps article{padding:27px 25px 10px 0;border-right:1px solid #ffffff2c;min-height:180px}.steps article:not(:first-child){padding-left:25px}.steps article:last-child{border-right:0}.steps span{font:11px var(--mono);color:var(--lime)}.steps h3{font-size:17px;margin:34px 0 10px}.steps p{font-size:12px;line-height:1.75;color:#9ca8b8;margin:0;max-width:190px}.faq{display:grid;grid-template-columns:.83fr 1.17fr;gap:80px}.faq h2{font-size:clamp(34px,3.8vw,52px);letter-spacing:-3px}.dark-link{color:var(--ink);display:inline-block;margin-top:30px}.dark-link span{color:#7c9915}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:0}summary{list-style:none;cursor:pointer;padding:23px 0;font-size:16px;font-weight:700;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font:400 21px var(--mono);color:#748f17}details[open] summary span{transform:rotate(45deg)}details p{font-size:13px;line-height:1.9;color:#5f6a77;margin:-3px 30px 23px 0}.contact-section{background:var(--lime);color:var(--ink);min-height:570px;padding:100px max(6vw,40px) 33px;display:flex;flex-direction:column;position:relative;overflow:hidden}.contact-noise{position:absolute;inset:0;background-image:radial-gradient(#617718 1px,transparent 1px);background-size:8px 8px;opacity:.16;mask-image:linear-gradient(90deg,transparent,#000 50%,transparent)}.contact-section>*:not(.contact-noise){position:relative}.contact-section .eyebrow{color:#324008}.contact-section .eyebrow span:first-child{background:var(--ink)}.contact-section h2{font-size:clamp(42px,5.4vw,76px)}.contact-section h2 em{color:var(--ink)}.contact-section>p:not(.eyebrow){color:#364511;font-size:14px;line-height:1.8;margin:18px 0 30px}.contact-mail{font-size:clamp(22px,3vw,38px);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:9px;display:flex;justify-content:space-between;max-width:630px;font-weight:600;letter-spacing:-1px}.contact-info{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.contact-channel{display:flex;align-items:center;gap:8px;border:1px solid #0b112033;background:rgba(11,17,32,.05);padding:9px 14px;text-decoration:none;color:var(--ink)}.channel-name{font:10px var(--mono);letter-spacing:1px;color:#36451f;text-transform:uppercase}.channel-value{font:600 13px var(--mono);letter-spacing:.3px}.contact-channel:hover{background:rgba(11,17,32,.12)}.contact-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:44px;align-items:start;margin-top:44px}.contact-left{max-width:630px}.mail-form{background:var(--ink);color:#fff;padding:30px 32px 26px;display:flex;flex-direction:column;gap:17px}.form-title{margin:0;font:11px var(--mono);letter-spacing:1.5px;color:var(--lime);text-transform:uppercase}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-field{display:flex;flex-direction:column;gap:7px;font:500 11px var(--mono);letter-spacing:.8px;color:#9aa6b6;text-transform:uppercase}.form-field input,.form-field textarea{background:transparent;border:1px solid #ffffff2e;color:#fff;font:400 14px var(--sans);padding:11px 13px;outline:none;resize:vertical}.form-field input:focus,.form-field textarea:focus{border-color:var(--lime)}.form-submit{border:0;background:var(--lime);color:var(--ink);font:700 13px var(--sans);padding:13px 16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;letter-spacing:-.2px}.form-submit:hover{filter:brightness(.94)}.form-hint{margin:0;font:10px var(--mono);color:#7f8a9a;line-height:1.7}.form-status.form-success{color:var(--lime)}.form-status.form-error{color:#ff8f8f}.form-submit:disabled{opacity:.55;cursor:wait}.contact-meta{margin-top:auto;padding-top:55px;border-top:1px solid #0b112044;display:flex;justify-content:space-between;font:10px var(--mono);color:#364511}.floating-chat{position:fixed;right:25px;bottom:24px;color:#fff;background:var(--ink);box-shadow:0 12px 30px #07112140;text-decoration:none;padding:13px 16px;display:flex;align-items:center;gap:8px;font-size:12px;z-index:10}.floating-chat{border:1px solid var(--ink);cursor:pointer;font-family:var(--sans)}.chat-panel{position:fixed;right:25px;bottom:86px;width:340px;max-width:calc(100vw - 32px);height:480px;max-height:calc(100vh - 130px);background:#fff;border:1px solid #d9dcd4;box-shadow:0 24px 52px #07112133;display:none;flex-direction:column;z-index:11}.chat-panel.open{display:flex}.chat-head{background:var(--ink);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.chat-head-info{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.chat-head-info b{font-size:13px;letter-spacing:.3px}.chat-head-info span{font:10px var(--mono);color:#9aa6b6;letter-spacing:.5px}.chat-dot{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px #d4f56b26}.chat-close{background:none;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;opacity:.75}.chat-close:hover{opacity:1}.chat-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#f7f8f4}.msg{max-width:82%;padding:9px 12px;font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.msg.bot{align-self:flex-start;background:#fff;border:1px solid #dfe2dc;color:#33404f;border-left:2px solid var(--lime)}.msg.user{align-self:flex-end;background:var(--ink);color:#fff}.msg.typing{color:#8a95a5;font-style:italic}.chat-chips{display:flex;gap:7px;flex-wrap:wrap;padding:10px 14px 4px;background:#fff;border-top:1px solid #eceee8}.chat-chips button{border:1px solid #cfd4c6;background:#fff;color:#4d5a6c;font:500 11px var(--sans);padding:6px 10px;cursor:pointer}.chat-chips button:hover{border-color:var(--ink);color:var(--ink)}.chat-input{display:flex;gap:8px;padding:10px 14px;background:#fff}.chat-input input{flex:1;border:1px solid #cfd4c6;padding:10px 12px;font:400 13px var(--sans);outline:none;background:#fff;color:var(--ink)}.chat-input input:focus{border-color:var(--ink)}.chat-input button{border:0;background:var(--lime);color:var(--ink);font:700 14px var(--sans);padding:0 15px;cursor:pointer}.chat-input button:hover{filter:brightness(.94)}.chat-foot{display:flex;justify-content:center;gap:16px;padding:8px 14px 11px;background:#fff;border-top:1px solid #eceee8}.chat-foot a{font:500 11px var(--mono);color:#4d5a6c;text-decoration:none;letter-spacing:.4px}.chat-foot a:hover{color:var(--ink);text-decoration:underline}.floating-chat span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:15px}@media(max-width:900px){.contact-body{grid-template-columns:1fr;gap:34px}.main-nav{display:none}.hero{grid-template-columns:1fr;min-height:850px}.hero-visual{height:360px;margin-top:25px}.world-globe{width:295px;height:295px;right:10%;top:8px}.orbit-a{width:420px;height:170px;top:80px}.orbit-b{width:390px;height:250px;top:32px}.orbit-c{width:350px;height:370px;top:-27px}.card-a{right:0;top:0}.card-b{left:0;bottom:5px}.split-heading,.faq{grid-template-columns:1fr;grid-template-areas:"eye" "heading" "text";gap:25px}.split-heading>p:last-child{margin:0}.service-grid{grid-template-columns:1fr 1fr}.service-card-wide{grid-column:span 2}.plan-heading{gap:30px}.plan-grid{grid-template-columns:1fr}.plan-card{min-height:auto}.featured-plan{transform:none!important}.steps{grid-template-columns:1fr 1fr}.steps article:nth-child(2){border-right:0}.steps article:nth-child(3){border-top:1px solid #ffffff2c;padding-left:0}.steps article:nth-child(4){border-top:1px solid #ffffff2c}.faq{gap:45px}}@media(max-width:590px){.chat-panel{right:16px;bottom:78px}.form-row{grid-template-columns:1fr}.mail-form{padding:22px 20px 20px}.site-header{height:66px;padding:0 18px}.brand{font-size:18px}.button-small{display:none}.hero{padding:118px 24px 65px;min-height:800px}.hero h1{letter-spacing:-2.5px}.hero-text{font-size:14px}.hero-actions{gap:18px}.proof-row{gap:19px;margin-top:43px}.proof-row strong{font-size:16px}.proof-row span{font-size:9px}.hero-scroll{display:none}.hero-visual{height:305px}.world-globe{width:250px;height:250px;right:3%;top:8px}.orbit-a{width:340px;height:150px;top:63px}.orbit-b{width:325px;height:220px;top:23px}.orbit-c{width:270px;height:330px;top:-28px}.card-b{padding:8px 9px}.signal-lines{display:none}.section{padding:75px 24px}.service-grid{grid-template-columns:1fr;margin-top:40px}.service-card-wide{grid-column:auto;min-height:240px;align-items:flex-start;flex-direction:column}.api-diagram{padding:0;gap:6px}.api-diagram i{width:21px}.plan-heading{display:block}.plan-heading>p{margin-top:22px}.plan-grid{margin-top:40px}.plan-card{padding:24px}.price strong{font-size:46px}.steps{margin-top:45px;grid-template-columns:1fr}.steps article,.steps article:not(:first-child),.steps article:nth-child(3){padding:22px 0;border-right:0;border-bottom:1px solid #ffffff2c;border-top:0;min-height:auto}.steps article:last-child{border-bottom:0}.steps h3{margin:20px 0 7px}.faq{gap:37px}.faq-list summary{font-size:14px}.contact-section{padding:76px 24px 28px;min-height:485px}.contact-meta{padding-top:35px;gap:12px}.floating-chat{right:16px;bottom:16px;padding:12px}.floating-chat b{display:none}.ticker-track{font-size:12px}}


/* ===== walking greeting robot ===== */
.robo{--robo-w:58px;position:fixed;bottom:18px;left:3%;width:var(--robo-w);height:var(--robo-w);z-index:9;cursor:pointer;animation:robo-patrol 16s ease-in-out infinite;-webkit-tap-highlight-color:transparent}
.robo:focus{outline:none}
.robo-inner{width:100%;height:100%;animation:robo-face 16s ease-in-out infinite}
.robo-bob{width:100%;height:100%;animation:robo-bob .5s ease-in-out infinite}
.robo-svg{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 6px 8px rgba(11,17,32,.18))}
.robo-shadow{position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);width:44px;height:9px;border-radius:50%;background:rgba(11,17,32,.22);filter:blur(3px);animation:robo-shadow .5s ease-in-out infinite}
@keyframes robo-patrol{0%{left:3%}50%{left:calc(72% - var(--robo-w))}100%{left:3%}}
@keyframes robo-face{0%,46%{transform:scaleX(1)}50%,96%{transform:scaleX(-1)}100%{transform:scaleX(1)}}
@keyframes robo-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes robo-shadow{0%,100%{transform:translateX(-50%) scale(1);opacity:1}50%{transform:translateX(-50%) scale(.82);opacity:.7}}
.robo-ant-dot{animation:robo-flash 2.4s ease-in-out infinite}
@keyframes robo-flash{0%,100%{opacity:1}50%{opacity:.25}}
.robo-eye{transform-box:fill-box;transform-origin:center;animation:robo-blink 4.5s infinite}
@keyframes robo-blink{0%,92%,100%{transform:scaleY(1)}94%,96%{transform:scaleY(.12)}}
.robo-chest{animation:robo-flash 1.6s ease-in-out infinite}
.arm-l,.arm-r{transform-box:fill-box;transform-origin:50% 7%}
.arm-l{animation:robo-swing-l .6s ease-in-out infinite alternate}
.arm-r{animation:robo-swing-r .6s ease-in-out infinite alternate}
@keyframes robo-swing-l{from{transform:rotate(-14deg)}to{transform:rotate(9deg)}}
@keyframes robo-swing-r{from{transform:rotate(9deg)}to{transform:rotate(-14deg)}}
.robo-bubble{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(8px) scale(.92);transform-origin:bottom center;background:#fff;color:#0b1120;font-family:"Manrope","Noto Sans SC",sans-serif;font-weight:700;font-size:12px;line-height:1.4;padding:8px 12px;border-radius:13px;max-width:76vw;box-shadow:0 8px 22px rgba(11,17,32,.22);opacity:0;pointer-events:none;transition:opacity .28s,transform .28s}
.robo-bubble::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#fff}
.robo.greeting .robo-bubble{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
.robo.greeting{animation-play-state:paused}
.robo.greeting .robo-inner{animation:none;transform:scaleX(1)}
.robo.greeting .robo-bob{animation:none}
.robo.greeting .arm-l{animation:none;transform:rotate(4deg)}
.robo.greeting .arm-r{animation:robo-wave .5s ease-in-out infinite}
@keyframes robo-wave{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(46deg)}}
@media(max-width:600px){.robo{--robo-w:50px;bottom:14px}.robo-bubble{font-size:11px;padding:7px 10px;max-width:70vw}.robo-shadow{width:38px;height:8px}}
@media(prefers-reduced-motion:reduce){.robo,.robo-inner,.robo-bob,.robo-shadow,.arm-l,.arm-r,.robo-eye,.robo-ant-dot,.robo-chest{animation:none}}
