#pet .ear{background:linear-gradient(135deg,var(--pet-light,#7bead2),var(--pet-dark,#5b7aca));border:1px solid #d8fff388;border-radius:var(--ear-shape,34px 34px 9px);transform-origin:bottom center}#pet .face{background:linear-gradient(135deg,var(--pet-light,#91ead6),var(--pet-main,#7aa4db));border:1px solid #d8fff388;overflow:visible}#pet .cheek{background:var(--pet-mark,#ff9e9e)}#pet .body{background:linear-gradient(135deg,var(--pet-main,#387a7f),var(--pet-dark,#4865af));border:1px solid #d8fff388;overflow:visible}#pet~.shadow{background:var(--pet-glow,#6de8d0)}#pet[data-form="crystal"] .face{border-radius:35% 35% 20% 20%}#pet[data-form="round"] .ear{border-radius:50% 50% 14px 14px}#pet[data-form="fox"] .face{width:108px;left:10px;border-radius:44% 44% 34% 34%}#pet[data-form="fins"] .face{border-radius:55% 38% 48% 35%}#pet[data-form="horn"] .face{border-radius:42% 42% 30% 30%}
#pet .tail{position:absolute;z-index:0;right:-10px;bottom:8px;width:45px;height:23px;border-radius:0 24px 24px 0;background:var(--pet-main);transform:rotate(var(--tail-angle,20deg));border:1px solid var(--pet-light)}#pet[data-tail="plume"] .tail{width:55px;height:29px;border-radius:12px 32px 32px 12px;box-shadow:inset -10px 0 #ffffff25}#pet[data-tail="fin"] .tail{height:38px;width:45px;clip-path:polygon(0 54%,100% 0,75% 100%);border-radius:0}#pet[data-tail="orbit"] .tail{width:50px;height:25px;border-radius:50%;background:radial-gradient(circle at 30% 50%,var(--pet-glow) 0 12%,transparent 14%),radial-gradient(circle at 62% 30%,var(--pet-light) 0 12%,transparent 14%),var(--pet-dark)}#pet[data-tail="spade"] .tail{width:53px;height:27px;border-radius:50% 50% 8px 8px;clip-path:polygon(0 50%,72% 0,100% 50%,72% 100%)}
#pet[data-mark="stripe"] .face:after,#pet[data-mark="dot"] .face:after,#pet[data-mark="moon"] .face:after{content:"";position:absolute;left:48px;top:17px;width:16px;height:16px;background:var(--pet-mark);opacity:.9;z-index:4}#pet[data-mark="stripe"] .face:after{height:7px;top:22px;transform:skew(-22deg)}#pet[data-mark="dot"] .face:after{border-radius:50%;width:10px;height:10px;box-shadow:14px 7px 0 -2px var(--pet-mark),-11px 8px 0 -3px var(--pet-mark)}#pet[data-mark="moon"] .face:after{border-radius:50%;background:var(--pet-mark);box-shadow:5px 0 0 var(--pet-main)}
#pet[data-ears="leaf"] .ear{height:56px;border-radius:38px 38px 8px 30px}#pet[data-ears="fox"] .ear{height:65px;width:36px;border-radius:5px 36px 5px 36px}#pet[data-ears="fins"] .ear{height:38px;width:52px;border-radius:50% 8px;opacity:.9}.pet[data-ears="fins"] .left{transform:rotate(-34deg)}.pet[data-ears="fins"] .right{transform:rotate(34deg)}#pet[data-ears="horns"] .ear{height:62px;width:24px;border-radius:50% 50% 8px 8px;clip-path:polygon(50% 0,100% 100%,0 100%)}
#pet[data-eyes="curious"] .face i{width:14px;height:17px;top:39px;box-shadow:0 0 0 3px #effffb88}#pet[data-eyes="sleepy"] .face i{height:7px;top:48px;border-radius:10px 10px 2px 2px}#pet[data-eyes="star"] .face i{width:14px;height:14px;top:41px;border-radius:0;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 63%,50% 100%,38% 63%,0 50%,38% 36%);background:#173a58;box-shadow:0 0 9px var(--pet-glow)}
#pet[data-accessory="scarf"] .body:before{content:"";position:absolute;z-index:5;left:8px;top:-11px;width:72px;height:20px;border:5px solid var(--pet-mark);border-radius:50%;box-shadow:0 3px 0 #ffffff33}#pet[data-accessory="crown"]:before{content:"✦";position:absolute;z-index:7;left:43px;top:-17px;width:38px;height:23px;padding-top:1px;text-align:center;color:#fff0b2;background:linear-gradient(135deg,var(--pet-mark),var(--pet-light));border:1px solid #fff6bd;border-radius:10px 10px 4px 4px;box-shadow:0 0 12px var(--pet-glow)}#pet[data-accessory="headphones"]:after{content:"";position:absolute;z-index:7;left:18px;top:23px;width:91px;height:55px;border:6px solid var(--pet-dark);border-bottom:0;border-radius:50px 50px 0 0;box-shadow:-7px 37px 0 -2px var(--pet-dark),7px 37px 0 -2px var(--pet-dark)}#pet[data-accessory="bow"]:before{content:"✦";position:absolute;z-index:7;right:-2px;top:24px;width:28px;height:22px;text-align:center;padding-top:2px;color:#fff3b5;background:var(--pet-mark);border:1px solid #fff3b5;border-radius:15px 5px 15px 5px;transform:rotate(18deg);box-shadow:0 0 9px var(--pet-glow)}
#pet[data-mark="none"] .face:after,#pet[data-accessory="none"] .body:before{content:none}.rename-pet{border:1px solid #77cdbd;border-radius:9px;padding:7px 10px;background:#163b43;color:#d8fff2;font:600 10px JetBrains Mono,monospace;cursor:pointer}.rename-pet:hover{border-color:#ffe19a;color:#ffe19a}
#pet .cheek{display:none}
#residents-dialog{width:min(680px,calc(100vw - 30px));max-width:calc(100vw - 30px);max-height:calc(100vh - 30px);padding:0;overflow:auto}.residents-dialog{padding:20px;min-width:0}.residents-dialog .title{padding:0 0 14px}.residents-dialog .title button{font-size:22px;padding:2px 10px}.resident-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.resident{min-width:0;min-height:150px;padding:8px;text-align:center;border:1px solid #5e9f97;border-radius:13px;background:#0a2630}.resident>b,.resident>small{display:block}.resident>b{margin-top:2px;font-size:12px}.resident>small{margin-top:3px;font-size:8px;overflow-wrap:anywhere}.resident-pet{position:relative;width:74px;height:88px;margin:0 auto;filter:drop-shadow(0 0 8px var(--r-glow))}.r-ear{position:absolute;z-index:1;top:0;width:26px;height:34px;background:linear-gradient(135deg,var(--r-light),var(--r-dark));border:1px solid #d8fff388;border-radius:24px 24px 7px}.r-ear.left{left:5px;transform:rotate(-20deg)}.r-ear.right{right:5px;transform:rotate(20deg)}.r-face{position:absolute;z-index:2;top:16px;left:4px;width:66px;height:60px;border:1px solid #d8fff388;border-radius:47% 47% 39% 39%;background:linear-gradient(135deg,var(--r-light),var(--r-main))}.r-face i{position:absolute;top:25px;width:6px;height:9px;border-radius:50%;background:#183652}.r-face i:first-child{left:19px}.r-face i:nth-child(2){right:19px}.r-face b{position:absolute;left:28px;top:38px;width:10px;height:5px;border-bottom:2px solid #183652;border-radius:50%}.r-body{position:absolute;z-index:1;bottom:0;left:11px;width:52px;height:37px;padding-top:9px;color:#ffe49a;font-size:11px;border:1px solid #d8fff388;border-radius:28px 28px 12px;background:linear-gradient(135deg,var(--r-main),var(--r-dark))}.r-tail{position:absolute;z-index:0;right:-6px;bottom:4px;width:29px;height:14px;border:1px solid var(--r-light);border-radius:0 18px 18px 0;background:var(--r-main)}.resident-pet[data-ears="fox"] .r-ear{height:41px;width:21px;border-radius:4px 24px 4px 24px}.resident-pet[data-ears="fins"] .r-ear{height:24px;width:31px;border-radius:50% 5px}.resident-pet[data-ears="horns"] .r-ear{width:15px;height:38px;border-radius:50% 50% 5px 5px;clip-path:polygon(50% 0,100% 100%,0 100%)}.resident-pet[data-eyes="curious"] .r-face i{width:10px;height:12px;top:22px}.resident-pet[data-eyes="sleepy"] .r-face i{height:4px;top:29px}.resident-pet[data-eyes="star"] .r-face i{width:10px;height:10px;top:24px;border-radius:0;clip-path:polygon(50% 0,61% 36%,100% 50%,61% 63%,50% 100%,38% 63%,0 50%,38% 36%)}.resident-pet[data-tail="fin"] .r-tail{height:24px;clip-path:polygon(0 50%,100% 0,72% 100%);border-radius:0}.resident-pet[data-tail="orbit"] .r-tail{border-radius:50%;background:radial-gradient(circle at 35% 50%,var(--r-glow) 0 16%,transparent 18%),var(--r-dark)}.resident-pet[data-tail="spade"] .r-tail{clip-path:polygon(0 50%,72% 0,100% 50%,72% 100%)}.resident-pet[data-accessory="scarf"] .r-body:before{content:"";position:absolute;left:4px;top:-7px;width:39px;height:11px;border:3px solid var(--r-mark);border-radius:50%}.resident-pet[data-accessory="crown"]:before,.resident-pet[data-accessory="bow"]:before{content:"✦";position:absolute;z-index:5;color:#fff0b2;background:var(--r-mark);border:1px solid #fff0b2}.resident-pet[data-accessory="crown"]:before{left:25px;top:-10px;padding:1px 5px;border-radius:5px}.resident-pet[data-accessory="bow"]:before{right:-2px;top:15px;padding:1px 4px;border-radius:7px 3px;transform:rotate(18deg)}.resident-pet[data-accessory="headphones"]:before{content:"";position:absolute;z-index:5;left:10px;top:15px;width:54px;height:34px;border:4px solid var(--r-dark);border-bottom:0;border-radius:30px 30px 0 0}.refresh-residents{display:block;margin:14px auto 0;border:1px solid #9deed9;border-radius:10px;padding:9px 14px;background:#1c4a51;color:#eafff8}@media(max-width:560px){.residents-dialog{padding:14px}.resident-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
#residents-dialog .residents-dialog{display:block}#residents-dialog .title{display:flex;justify-content:space-between;align-items:flex-start}#residents-dialog .title>div{display:block}#residents-dialog .resident-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:initial}#residents-dialog .resident{display:block}#residents-dialog .resident-pet{display:block}#residents-dialog .refresh-residents{display:block}@media(max-width:560px){#residents-dialog .resident-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.scene{background-image:linear-gradient(180deg,#07192622,#07192655),var(--scene-image);background-size:cover;background-position:center;transition:background-image .45s ease}.scene[data-place] .sun,.scene[data-place] .cloud,.scene[data-place] .hill{opacity:0}.place-label{position:absolute;z-index:6;left:18px;top:16px;padding:6px 9px;border:1px solid #b9ffec99;border-radius:8px;background:#0b2d35bf;color:#d8fff2;font:700 9px JetBrains Mono,monospace;letter-spacing:.8px}
.daily-card{margin-top:18px}.daily-card .title>span{padding:7px 10px;border:1px solid #7fcabf;border-radius:9px;color:#d8fff2;font:700 9px JetBrains Mono,monospace}.daily-rhythm{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 22px}.routine-slot{padding:12px;border:1px solid #38666a;border-radius:12px;color:#8db1ae;background:#0a2931}.routine-slot b,.routine-slot small{display:block}.routine-slot b{font-size:11px}.routine-slot small{margin-top:4px;font-size:9px}.routine-slot.done{opacity:.55}.routine-slot.now{border-color:#b6f9df;background:linear-gradient(135deg,#1a5155,#17333d);box-shadow:0 0 16px #83f5d62e}.routine-note{padding:12px 23px 20px;color:#bcd5d0}@media(max-width:560px){.daily-rhythm{grid-template-columns:repeat(2,1fr)}}
.pet-gender{display:inline-block;margin-top:2px;padding:4px 7px;border:1px solid #5e8e95;border-radius:999px;color:#c9f2e9;background:#19333a;font:700 9px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.08em}
