.pet{--look-x:0;--look-y:0;position:relative;display:block;width:90px;height:87px;flex-shrink:0;isolation:isolate;pointer-events:none}
.pet-character{position:absolute;inset:0;display:block;background:radial-gradient(circle at 28% 20%,#edf9ba 0,#cfed92 30%,#a2d876 70%,#71b466 100%);border-radius:46% 54% 51% 49% / 53% 46% 54% 47%;box-shadow:inset -7px -9px 20px #215e3317,inset 6px 8px 20px #ffffff7a,0 16px 35px #24623d18;transform:translate(calc(var(--look-x)*4px),calc(var(--look-y)*3px)) rotate(calc(var(--look-x)*3deg));will-change:transform}
.pet-face{position:absolute;left:15%;right:15%;top:40%;height:31%;display:flex;align-items:flex-start;justify-content:center;gap:20%;transform:translate(calc(var(--look-x)*6px),calc(var(--look-y)*5px));will-change:transform}
.pet-eye{display:block;width:7%;height:41%;margin-top:10%;border-radius:9px;background:#254834;animation:pet-blink 9s infinite}
.pet-eye:nth-child(2){transform:rotate(4deg)}
.pet-ear,.pet-antenna,.pet-nose,.pet-mouth{display:none;position:absolute}
.pet-shadow{position:absolute;left:22%;width:56%;height:10%;bottom:-23%;border-radius:50%;background:#3d682c18;filter:blur(8px);z-index:-1}
.pet-large{width:126px;height:119px;animation:pet-bob 7s ease-in-out infinite}
.pet-welcome{width:90px;height:87px;margin:0 auto 37px;animation:pet-bob 7s ease-in-out infinite}
.pet-mini{display:inline-block;width:27px;height:26px;margin-top:3px;vertical-align:middle}
.pet-mini .pet-shadow{display:none}.pet-mini .pet-character{box-shadow:none}.pet-mini .pet-face{gap:21%;top:36%}.pet-mini .pet-eye{width:12%;height:57%;margin-top:5%;animation:none}
.pet[data-pet=cat] .pet-character{background:radial-gradient(circle at 29% 23%,#fff0d4,#ecc799 70%,#d5a978);border-radius:46% 46% 43% 43%;border:2px solid #dbb48d;box-shadow:inset 0 -9px 18px #bc875921,0 13px 30px #6748320d}
.pet[data-pet=cat] .pet-ear{display:block;top:-7%;width:31%;height:38%;background:#ebc494;border:2px solid #dbb48d;border-radius:16% 70% 12% 40%;z-index:-1}
.pet[data-pet=cat] .pet-ear:after{content:"";position:absolute;inset:25%;background:#d59885;border-radius:inherit}
.pet[data-pet=cat] .pet-ear-left{left:2%;transform:rotate(-22deg)}
.pet[data-pet=cat] .pet-ear-right{right:2%;transform:scaleX(-1) rotate(-22deg)}
.pet[data-pet=cat] .pet-face{top:42%;gap:24%}
.pet[data-pet=cat] .pet-eye{background:#65482f}
.pet[data-pet=cat] .pet-nose{display:block;top:61%;left:46%;width:8%;height:19%;border-radius:45% 45% 70% 70%;background:#b37467}
.pet[data-pet=cat] .pet-mouth{display:block;top:77%;left:45%;width:10%;height:17%;border:1px solid #91634b;border-top:0;border-radius:0 0 50% 50%}
.pet[data-pet=cat] .pet-face:before,.pet[data-pet=cat] .pet-face:after{content:"";position:absolute;top:69%;height:1px;width:20%;background:#ab805b;box-shadow:0 5px 0 #ab805b;opacity:.7}
.pet[data-pet=cat] .pet-face:before{left:-7%;transform:rotate(7deg)}.pet[data-pet=cat] .pet-face:after{right:-7%;transform:rotate(-7deg)}
.pet[data-pet=robot] .pet-character{inset:8% 3% 0;background:linear-gradient(135deg,#edf8e9,#bfdbc7);border:4px solid #598779;border-radius:23%;box-shadow:inset 0 -9px 12px #54816e16,0 13px 30px #2853420d}
.pet[data-pet=robot] .pet-ear{display:block;top:34%;width:13%;height:27%;background:#6a9587;border:2px solid #598779;border-radius:5px;z-index:-1}
.pet[data-pet=robot] .pet-ear-left{left:-13%}.pet[data-pet=robot] .pet-ear-right{right:-13%}
.pet[data-pet=robot] .pet-antenna{display:block;top:-23%;left:48%;width:4%;height:22%;background:#598779;border-radius:3px}
.pet[data-pet=robot] .pet-antenna:after{content:"";position:absolute;top:-36%;left:-89%;width:280%;height:56%;background:#c5e991;border:2px solid #598779;border-radius:50%}
.pet[data-pet=robot] .pet-face{left:12%;right:12%;top:27%;height:43%;background:#2b5448;border-radius:17%;gap:23%;padding-top:4%}
.pet[data-pet=robot] .pet-eye{height:31%;width:8%;background:#cfedaa;margin-top:9%}
.pet[data-pet=robot] .pet-mouth{display:block;left:39%;width:22%;height:7%;top:71%;background:#a9d9b6;border-radius:5px}
.pet-mini[data-pet=cat] .pet-character{border-width:1px}.pet-mini[data-pet=cat] .pet-ear{border-width:1px}.pet-mini[data-pet=cat] .pet-mouth,.pet-mini[data-pet=cat] .pet-face:before,.pet-mini[data-pet=cat] .pet-face:after{display:none}
.pet-mini[data-pet=robot] .pet-character{border-width:2px}.pet-mini[data-pet=robot] .pet-ear{border-width:1px}.pet-mini[data-pet=robot] .pet-antenna:after{border-width:1px}
.companion-layout{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(300px,1.1fr);gap:25px;max-width:875px;margin:0 auto}
.companion-stage{position:relative;overflow:hidden;padding:45px 25px 30px;min-height:425px;text-align:center;background:radial-gradient(ellipse at 50% 34%,#f7fbe9 0,#e6eedb 61%,#dce8ce 100%);border:1px solid #d9e4cf;border-radius:12px}
.companion-stage:before{content:"";position:absolute;inset:30px;border:1px solid #ffffff8f;border-radius:50%;pointer-events:none}
.pet-profile{width:151px;height:144px;margin:35px auto 57px;animation:pet-bob 7s ease-in-out infinite}
.companion-stage .pill{position:relative;color:#6b8559;border-color:#c3d2b6;font-size:8px}
.companion-stage h2{position:relative;font-size:25px;font-weight:450;letter-spacing:-.5px;margin:18px 0 12px}
.companion-stage p{position:relative;color:#798c6b;font-size:11px;line-height:1.8;margin:0}
.pet-fieldset{border:0;padding:0;margin:0;min-width:0}.pet-fieldset legend{font-size:17px;font-weight:500;letter-spacing:-.2px;margin-bottom:14px}.pet-options{display:flex;flex-direction:column;gap:11px;margin-top:20px}
.pet-option{display:flex;flex-direction:row;align-items:center;gap:18px;border:1px solid #e2e7dc;border-radius:9px;padding:18px 13px;cursor:pointer;background:#fbfcf8;transition:border-color .15s,background .15s}
.pet-option:hover{background:#f3f7eb;border-color:#b6cda2}.pet-option:has(input:checked){background:#f0f6e7;border-color:#86ad6c;box-shadow:0 0 0 1px #86ad6c}.pet-option:has(input:focus-visible){outline:3px solid #82bd88;outline-offset:3px}
.pet-option input{width:15px!important;height:15px;padding:0!important;accent-color:var(--green);flex-shrink:0}
.pet-choice{width:45px;height:42px;margin:3px 0 1px}.pet-choice .pet-shadow{display:none}.pet-choice .pet-eye{animation:none}.pet-choice .pet-character{box-shadow:none}.pet-choice[data-pet=robot] .pet-character{border-width:2px}.pet-choice[data-pet=robot] .pet-antenna:after{border-width:1px}.pet-choice[data-pet=cat] .pet-face:before,.pet-choice[data-pet=cat] .pet-face:after{box-shadow:0 3px 0 #ab805b}
.pet-option-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.pet-option-copy strong{font-size:12px;font-weight:600}.pet-option-copy>span{font-size:10px;color:#849378;line-height:1.6;font-weight:400}
.companion-layout .form-panel{gap:20px}.companion-layout .scope-lock{line-height:1.6;font-size:9px}.app.busy .pet-welcome{animation-duration:2s}
.erp-fieldset{margin:0;padding:15px 16px;border:1px solid var(--line);border-radius:7px;display:flex;flex-direction:column;gap:12px;min-width:0}.erp-fieldset legend{font-size:11px;padding:0 5px}.erp-fieldset label{font-size:11px}.erp-actions{display:flex;flex-wrap:wrap;gap:8px}.erp-actions .button{white-space:normal;text-align:center}.grants-list .erp-candidate{background:#f0f6e9;border-radius:5px;padding:7px}.candidate-tag{font-size:8px;color:#628748;background:#e3efd6;border-radius:4px;padding:3px 5px;margin-left:auto;white-space:nowrap}.user-tile .erp-user-reference{margin-top:-9px;font-size:9px;color:#839778}
@keyframes pet-bob{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes pet-blink{0%,42%,46%,100%{scale:1 1}44%{scale:1 .15}}
@media(min-width:1500px){.pet-welcome{width:105px;height:100px}}
@media(max-width:900px){.companion-layout{gap:18px;grid-template-columns:minmax(200px,.85fr) minmax(250px,1.15fr)}.companion-stage{padding-left:15px;padding-right:15px}.pet-profile{width:129px;height:123px}}
@media(max-width:700px){.auth-story-main .pet-large{width:65px;height:62px;float:right;margin-right:10px;margin-top:14px}.pet-large .pet-eye{width:7%;height:41%}.pet-welcome{width:74px;height:72px;margin-bottom:33px}.companion-layout{grid-template-columns:1fr;max-width:450px}.companion-stage{min-height:300px;padding:24px 20px}.pet-profile{width:103px;height:98px;margin:21px auto 38px}.companion-stage h2{font-size:23px;margin-top:14px}.companion-stage p br{display:none}.pet-option{gap:14px;padding:17px 13px}.pet-option-copy>span{font-size:10px}.sidebar-bottom{padding-top:25px}}
@media(prefers-reduced-motion:reduce){.pet-character,.pet-face{transform:none!important;will-change:auto}.pet,.pet-eye{animation:none!important;translate:0 0!important}}
