.pet-avatar.vector-pet-avatar{overflow:visible;isolation:isolate;background:linear-gradient(145deg,#fff3e4,#ffe3c6);box-shadow:inset -9px -11px #d887561f,0 7px 18px #945d4114;animation:none}.pet-avatar.vector-pet-avatar.large{width:112px;height:112px}.vector-pet-svg{display:block;width:100%;height:100%;overflow:visible}.vector-pet-scene{transform-origin:110px 158px;animation:vector-pet-breathe 3.1s ease-in-out infinite}.vector-pet-character{transform-origin:110px 150px}.vector-pet-body{transform-origin:110px 128px}.vector-pet-tail{transform-origin:110px 126px;animation:vector-pet-tail 2.8s ease-in-out infinite}.vector-pet-paw{transform-origin:center;animation:vector-pet-paw 3s ease-in-out infinite}.vector-pet-paw-right{animation-delay:.3s}.vector-pet-blink{transform-origin:119px 70px;animation:vector-pet-blink 4.3s 1.2s infinite}.vector-pet-eye-closed{animation:none}.vector-pet-dog-ear-left{transform-origin:73px 70px;animation:vector-pet-ear-left 3.8s ease-in-out infinite}.vector-pet-dog-ear-right{transform-origin:158px 70px;animation:vector-pet-ear-right 3.8s ease-in-out infinite}.vector-pet-particles,.vector-pet-hearts,.vector-pet-hungry{animation:vector-pet-pop 1.3s ease-out both;transform-origin:center}.vector-pet-sleep-z{animation:vector-pet-z 2.8s ease-in-out infinite}.vector-pet-state{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.vector-state-happy .vector-pet-scene{animation-duration:2.1s}.vector-state-play .vector-pet-scene{animation:vector-pet-play .48s ease-in-out infinite alternate}.vector-state-play .vector-pet-tail{animation-duration:.55s}.vector-state-play .vector-pet-paw-left{animation:vector-pet-wave .48s ease-in-out infinite alternate}.vector-state-play .vector-pet-paw-right{animation:vector-pet-wave .48s .12s ease-in-out infinite alternate}.vector-state-feed .vector-pet-character{animation:vector-pet-feed .28s ease-in-out infinite alternate}.vector-state-feed .vector-pet-mouth{animation:vector-pet-chew .28s ease-in-out infinite alternate;transform-origin:119px 80px}.vector-state-pet .vector-pet-character{animation:vector-pet-pet .65s ease-in-out infinite alternate}.vector-state-pet .vector-pet-tail{animation-duration:.75s}.vector-state-sleep .vector-pet-scene{animation:vector-pet-sleep 4.5s ease-in-out infinite}.vector-state-sleep .vector-pet-tail{animation-play-state:paused}.vector-state-hungry .vector-pet-character{animation:vector-pet-hungry 2.2s ease-in-out infinite}@keyframes vector-pet-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.012,.994)}}@keyframes vector-pet-tail{0%,to{transform:rotate(-3deg)}50%{transform:rotate(10deg)}}@keyframes vector-pet-paw{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes vector-pet-blink{0%,91%,to{transform:scaleY(1)}94%{transform:scaleY(.06)}97%{transform:scaleY(1)}}@keyframes vector-pet-ear-left{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes vector-pet-ear-right{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)}}@keyframes vector-pet-pop{0%{opacity:0;transform:translateY(7px) scale(.65)}18%{opacity:1;transform:translateY(0) scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-11px) scale(1.12)}}@keyframes vector-pet-z{0%,to{opacity:0;transform:translateY(8px) scale(.8)}30%,70%{opacity:.85}to{opacity:0;transform:translate(8px,-12px) scale(1.1)}}@keyframes vector-pet-play{0%{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-7px) rotate(1deg)}}@keyframes vector-pet-wave{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-5px) rotate(-8deg)}}@keyframes vector-pet-feed{0%{transform:translateY(0) rotate(-1deg)}to{transform:translateY(2px) rotate(1deg)}}@keyframes vector-pet-chew{0%{transform:scaleY(1)}to{transform:scaleY(.72)}}@keyframes vector-pet-pet{0%{transform:translate(-2px) rotate(-1deg)}to{transform:translate(2px) rotate(1deg)}}@keyframes vector-pet-sleep{0%,to{transform:translateY(2px) scaleY(.99)}50%{transform:translateY(4px) scale(1.025,.975)}}@keyframes vector-pet-hungry{0%,to{transform:translate(0)}48%{transform:translate(-1px)}55%{transform:translate(1px)}}@media(prefers-reduced-motion:reduce){.vector-pet-avatar *,.vector-pet-avatar *:before,.vector-pet-avatar *:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#483d42;background:#fffaf5;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 15% 5%,#fff0df 0,transparent 30%),#fffaf5}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.6}.loading{min-height:100vh;display:grid;place-items:center;color:#9c8583}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(430px,100%);padding:42px 34px 30px;background:#fff;border:1px solid #f1e2d9;border-radius:30px;box-shadow:0 22px 70px #c18c5d1c;text-align:center}.brand-mark{margin:auto;width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:#ffd6ae;font-size:36px}.eyebrow{letter-spacing:.15em;color:#d38b62;font-weight:800;font-size:11px;margin:15px 0 5px}.auth-card h1{font-size:36px;margin:0;color:#493c40}.hero-copy{color:#a18b89;margin:8px auto 28px}.auth-tabs{display:flex;gap:6px;padding:4px;border-radius:14px;background:#fff5ed;margin-bottom:24px}.auth-tabs button{flex:1;padding:9px;border-radius:10px;background:transparent;color:#a58f8a}.auth-tabs button.active{background:#fff;color:#6d4e45;box-shadow:0 3px 10px #d6a57c24;font-weight:700}.stack{display:grid;gap:14px;text-align:left}label,.field-label{display:grid;gap:7px;font-size:13px;color:#745f5b;font-weight:700}input{width:100%;border:1px solid #eadbd2;border-radius:13px;padding:12px 13px;outline:none;background:#fffdfb;color:#4a3e40}input:focus{border-color:#eeaa7c;box-shadow:0 0 0 3px #f6c59d3d}.primary,.secondary,.ghost,.text-button{border-radius:13px;padding:12px 18px;font-weight:800}.primary{background:#ea9564;color:#fff;box-shadow:0 8px 18px #df966d38}.primary:hover{background:#df8351}.full{width:100%}.secondary{background:#fff0e4;color:#b56843}.ghost{padding:8px 12px;background:transparent;color:#a27c72}.text-button{background:transparent;color:#b77b64;margin:15px auto 0;display:block}.muted{color:#a18d8a;font-size:14px}.small{font-size:12px;margin:21px 0 0}.error{background:#fff0ed;color:#bd5e53;padding:10px 12px;border-radius:10px;font-size:13px;margin:0}.app-shell{min-height:100vh}.topbar{height:72px;border-bottom:1px solid #f2e4da;background:#fffaf5c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2))}.brand{display:flex;gap:10px;align-items:center;color:#59454a}.brand span{font-size:25px}.account{display:flex;align-items:center;gap:10px;color:#8f7776;font-size:14px}.content{width:min(1120px,100%);margin:auto;padding:54px 24px 80px}.content.narrow{width:min(720px,100%);padding-top:45px}.welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:55px}.welcome h1{font-size:clamp(34px,5vw,58px);line-height:1.1;letter-spacing:-.04em;margin:0;color:#4d3d42}.welcome h1 em{font-style:normal;color:#e79261}.sun-card{width:170px;height:170px;border-radius:44px;background:#ffd7ad;display:grid;place-items:center;font-size:55px;transform:rotate(4deg);box-shadow:inset -10px -14px #f6b78340}.sun-card small{font-size:11px;text-align:center;color:#966b5a;line-height:1.5}.card{background:#fff;border:1px solid #f1e2d9;border-radius:25px;padding:28px;box-shadow:0 16px 45px #c18c5d13}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.section-heading h2{margin:0;font-size:25px;color:#59444a}.section-heading.compact{margin-bottom:16px}.section-heading p{margin:4px 0 0}.limit-pill{background:#fff1e5;color:#b87758;padding:7px 12px;border-radius:20px;font-size:13px;font-weight:800}.choice-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:25px}.choice-tabs button{background:#fff8f2;color:#a78982;border:1px solid #f5e5d8;border-radius:12px;padding:12px 8px;font-weight:700}.choice-tabs button.selected{background:#fff0e2;border-color:#f3bc91;color:#a86041}.species-picker{display:flex;gap:10px}.species-picker button{display:flex;align-items:center;gap:8px;padding:12px 18px;background:#fff8f3;border:1px solid #f1e2d9;border-radius:14px;color:#7b625e}.species-picker button.active{background:#fff0df;border-color:#f2ad7e;box-shadow:0 5px 15px #e8a77828}.variant-picker{display:flex;gap:12px}.variant-picker button{padding:4px;background:#fff8f3;border:2px solid transparent;border-radius:18px}.variant-picker button.active{border-color:#efa576;background:#fff0e0}.variant-picker .pet-avatar{width:76px;height:76px}.join-box{display:grid;gap:13px;max-width:450px}.invite-result{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff4e6;color:#a96b4f;border-radius:14px;padding:13px 15px;margin-top:16px;font-size:13px}.invite-result strong{font-size:22px;letter-spacing:.14em;color:#d4774c}.invite-result button{background:#fff;color:#be7958;border-radius:9px;padding:6px 9px}.pet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.pet-card,.add-card{background:#fff;border:1px solid #f1e2d9;border-radius:25px;padding:24px;box-shadow:0 16px 45px #c18c5d13}.pet-card-top{min-height:150px;display:flex;justify-content:space-between;gap:10px}.pet-kind{display:inline-block;color:#d98c61;background:#fff1e5;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:800}.pet-card h3{margin:10px 0 0;color:#554147;font-size:25px}.pet-card p{margin:3px 0}.pet-avatar{position:relative;width:100px;height:100px;border-radius:33px;display:grid;place-items:center;overflow:hidden;background:#ffe6ca;box-shadow:inset -8px -10px #e8a87524;animation:float 4s ease-in-out infinite}.pet-avatar.large{width:112px;height:112px;font-size:55px}.pet-avatar span{filter:drop-shadow(0 6px 2px #8b5d3418)}.pet-avatar i{position:absolute;right:13px;top:12px;font-style:normal;color:#ed9a65;font-size:18px}.pet-avatar.peach{background:#ffd6c8}.pet-avatar.mint{background:#d4eee4}.pet-avatar.tired{filter:saturate(.75);animation:none}.pet-avatar.happy i{color:#dc6b8c}.meters{display:grid;gap:10px;margin:10px 0 20px}.meter-row{display:grid;grid-template-columns:38px 1fr 30px;align-items:center;gap:8px;font-size:12px;color:#9b8380}.meter-row b{font-size:11px;text-align:right;color:#876d68}.meter{height:8px;background:#f6eee8;border-radius:20px;overflow:hidden}.meter i{display:block;height:100%;border-radius:20px}.meter i.orange{background:#f2aa70}.meter i.pink{background:#e99ab1}.meter i.blue{background:#8bbad1}.pet-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pet-actions button{padding:10px 5px;border-radius:11px;background:#fff7f1;color:#a46e59;font-size:12px;font-weight:800}.pet-actions button:hover{background:#ffebda}.add-card{min-height:290px;display:grid;place-items:center;text-align:center;align-content:center;border-style:dashed;background:#fffdfb}.add-card>div{font-size:42px;color:#edb38b}.add-card h3{margin:8px 0 0;color:#745b5c}.add-card p{margin:4px 0 16px}.toast{position:fixed;z-index:10;top:87px;left:50%;transform:translate(-50%);background:#5b474d;color:#fff;padding:11px 17px;border-radius:30px;box-shadow:0 10px 25px #543d3d30;font-size:13px}.empty-state{text-align:center;padding:90px 20px}.empty-emoji{font-size:60px}.empty-state h2{color:#5a454b}.empty-state p{color:#a18d8a}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:700px){.content{padding:35px 16px 60px}.topbar{padding:0 16px}.welcome{align-items:flex-start;margin-bottom:35px}.welcome h1{font-size:38px}.sun-card{width:100px;height:100px;border-radius:30px;font-size:32px}.sun-card small{font-size:9px}.pet-grid{grid-template-columns:1fr}.pet-card{padding:20px}.choice-tabs{grid-template-columns:1fr}.auth-card{padding:34px 23px 26px}.section-heading{flex-direction:column}.limit-pill{align-self:flex-start}}.rive-avatar{padding:0;background:#ffe6ca}.rive-avatar canvas{width:100%;height:100%;display:block}.success{background:#edf9ef;color:#3d8650;padding:10px 12px;border-radius:10px;font-size:13px;margin:0}.danger{border:1px solid #f0c2bd;background:#fff0ed;color:#bd5e53;border-radius:13px;padding:12px 18px;font-weight:800}.settings-page{display:grid;gap:18px}.settings-page h2{margin:0;color:#59444a}.session-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #f4e8e1;padding-top:13px}.session-row p{margin:3px 0 0}.invite-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff4e6;border:1px solid #f4dfc9;border-radius:18px;padding:16px 18px;margin:-28px 0 30px}.invite-banner>div{display:grid;gap:8px}.invite-banner strong{font-size:26px;letter-spacing:.16em;color:#d4774c}.invite-qr{width:112px;height:112px;background:#fff;border-radius:10px;padding:4px}.qr-actions{display:flex;gap:8px}.qr-scanner{width:min(360px,100%);border-radius:18px;overflow:hidden;background:#2f292b}.qr-scanner video{display:block;width:100%;aspect-ratio:1;object-fit:cover}.invite-result{justify-content:space-between}.invite-result>div{display:grid;gap:7px}.download-link{display:inline-block;margin-top:14px;color:#b56843;text-decoration:none;font-size:13px;font-weight:800}.download-button{display:block;text-decoration:none;text-align:center}
