:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#334b3b;background:#f5f6ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;background:transparent;color:#5e7759;padding:10px 13px;border-radius:14px}button:disabled{opacity:.5;cursor:wait}button:hover{background:#e9eddc}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ceac55;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.45;letter-spacing:-.7px;margin-bottom:0}h2{font-size:18px;margin-bottom:12px}h3{font-size:16px}p{line-height:1.75;color:#7d8974}small{display:block;font-size:12px;color:#8b9683;line-height:1.8}img{object-fit:contain}.shell{max-width:760px;margin:auto;padding:24px 24px 112px}.brand{display:flex;align-items:center;gap:9px;margin-bottom:25px}.brand b{font-size:22px}.brand-mark{font-size:27px;background:#e6ecd8;border-radius:16px;padding:8px}.brand small{letter-spacing:2px;font-size:10px}.edition{margin-left:auto;border:1px solid #dce1d1;border-radius:20px;font-size:11px;padding:6px 12px;color:#89927d}.primary{background:#658455;color:#fff;border-radius:15px;box-shadow:0 3px #d6dfc6;font-weight:600}.primary:hover{background:#527348}.full{width:100%;margin-top:16px;min-height:45px}.card{background:#fffdf6;border:1px solid #e8e8db;border-radius:23px;padding:23px;margin-bottom:14px;box-shadow:0 3px #e9eddf55}.page-title,.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 18px}.page-title p{font-size:12px;letter-spacing:1px;margin-bottom:5px}.section-title h2{margin:0}.section-title button{font-size:13px}.date{font-size:12px;color:#8a957c}.family-switch{display:flex;align-items:center;justify-content:space-between;font-size:13px;border-top:1px solid #e2e6d9;padding-top:10px}.children{display:flex;gap:8px;overflow:auto;padding:10px 0}.children button{display:flex;align-items:center;gap:8px;white-space:nowrap;border:1px solid transparent}.children button span{display:inline-grid;place-items:center;width:28px;height:28px;background:#e9e9d9;border-radius:50%;font-size:12px}.children .selected{background:#fffdf5;border-color:#cbd8b9;color:#3e623f}.add-child{font-size:12px}.pet-card{display:flex;align-items:center;min-height:195px;padding:25px;border-radius:28px;background:#e5edd9 url(/static/illustrations/mochi-meadow-v1.png) center/cover;position:relative;overflow:hidden}.pet-card:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f4f6e7ef 10%,#f4f6e7a8 60%,#f4f6e733)}.pet-card>div,.pet-card>img{position:relative}.pet-card h2{margin:10px 0;font-size:19px}.pet-card p{font-size:12px;max-width:220px;margin-bottom:12px}.pet-card img{width:130px;max-width:30%;margin-left:auto;animation:sway 5s ease-in-out infinite;transform-origin:50% 90%}.pills{display:flex;gap:8px}.pills span{background:#fffcdfc7;border-radius:15px;padding:7px 10px;font-size:12px}.task-row{display:flex;align-items:center;gap:14px}.task-row>img{width:44px;height:44px;padding:10px;background:#edeedc;border-radius:15px}.task-row>div:not(.row-actions){flex:1}.task-row b{font-size:14px}.task-row small{margin-top:5px}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row-actions button{font-size:12px}.plain{padding:16px 4px;border-bottom:1px solid #e3e6da}.status{font-size:11px;color:#80916e;background:#edf0e3;padding:5px 8px;border-radius:10px;white-space:nowrap}.status.done{background:#dce8cb;color:#537745}.empty{text-align:center;padding:35px 15px}.empty>img{height:140px;margin-bottom:10px}.empty p{font-size:13px}.compact{padding:25px 15px}.compact b{font-size:14px}.compact p{margin:10px 0 0}.section-title em{font-size:12px;font-style:normal;background:#e4e9d7;border-radius:15px;padding:3px 7px;margin-left:7px}.reward-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.reward-card{text-align:center}.reward-card img{width:90px;height:90px;object-fit:contain;margin-bottom:12px;border-radius:15px}.reward-card p{margin:0;color:#ad853a}.reward-card button{font-size:12px;margin-top:12px}.member{display:flex;align-items:center;gap:13px}.member>div:not(.avatar){flex:1}.avatar{width:40px;height:40px;border-radius:50%;background:#e8ecd9;display:grid;place-items:center}.member button{font-size:12px;padding:8px}.danger{color:#ab6f58}.notice{background:#fff8d8;border:1px solid #eaddb3;border-radius:18px;padding:18px;margin-bottom:16px;font-size:13px}.notice p{margin:8px 0}.notice code{display:block;overflow-wrap:anywhere;background:#fffdf1;padding:10px;border-radius:8px;font-size:12px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(760px,100%);display:flex;justify-content:space-around;padding:10px 12px max(12px,env(safe-area-inset-bottom));background:#fffdf5f5;backdrop-filter:blur(12px);border:1px solid #e6e7d8;border-radius:24px 24px 0 0;z-index:5}.bottom-nav button{font-size:11px;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:64px}.bottom-nav img{width:23px;height:23px;opacity:.6}.bottom-nav .active{background:#e6ecd9;color:#496a3f}.bottom-nav .active img{opacity:1}.auth{max-width:420px;margin:auto}.welcome{text-align:center;padding:5px 0 25px}.welcome img{height:155px;animation:sway 5s ease-in-out infinite}.welcome h1{font-size:27px;margin:8px 0 12px}.welcome p{font-size:13px}.links{display:flex;justify-content:space-between;font-size:12px;margin-top:12px}.privacy{font-size:12px;color:#8a947d;padding:15px}.privacy p{padding-top:10px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;margin:17px 0}input:not([type=checkbox]),select{width:100%;min-height:44px;background:#f6f7ed;border:1px solid #dee3d2;border-radius:12px;padding:10px 13px;color:#384c36}input::placeholder{color:#a0a895;font-size:12px}.check{display:flex;flex-direction:row;align-items:center;line-height:1.5}.check input{width:18px;height:18px;accent-color:#678950}.columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.columns label{margin-top:0}fieldset{border:1px solid #e2e6d5;border-radius:15px;padding:12px;margin:18px 0}legend{font-size:12px;color:#859477;padding:0 8px}.icon-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.icon-picker button{display:flex;align-items:center;flex-direction:column;gap:8px;font-size:11px;padding:10px 3px;border:1px solid transparent}.icon-picker img{width:26px;height:26px}.icon-picker .picked{border-color:#a7bf8a;background:#e9efd9}.voice-box{background:#edf0e5;border-radius:16px;padding:18px;font-size:13px}.voice-box p{font-size:11px;margin:7px 0}.voice-box audio{width:100%;margin:10px 0}.image-preview{width:110px;height:110px;display:block;border-radius:15px}.modal-backdrop{position:fixed;inset:0;background:#25382c66;z-index:10;display:flex;align-items:flex-end;justify-content:center;padding-top:24px}.sheet{width:100%;max-width:560px;background:#fffdf5;padding:10px 25px max(25px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0;max-height:94dvh;overflow:auto}.sheet .section-title{margin-top:12px}.sheet>p{font-size:13px}.toast{position:fixed;bottom:104px;left:50%;transform:translate(-50%);width:max-content;max-width:90%;background:#334b3bf5;color:#fff;padding:12px 14px 12px 20px;border-radius:15px;z-index:20;display:flex;gap:10px;align-items:center;font-size:13px;box-shadow:0 8px 24px #23372e22}.toast button{color:#fff;padding:6px}@keyframes sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg) translateY(-2px)}}@media (max-width:480px){.shell{padding:18px 17px 108px}.pet-card{padding:20px;min-height:175px}.pet-card h2{font-size:16px}.pet-card img{width:100px}.task-row.card{padding:18px 15px;flex-wrap:wrap}.task-row .row-actions{margin-left:auto}.card{padding:20px}.page-title h1{font-size:25px}.reward-card{padding:20px 12px}.member{gap:9px}.member .avatar{display:none}.page-title>.primary{font-size:12px}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}
