*{box-sizing:border-box}body{margin:0;background:#f3f4ed;color:#243c33;font-family:"Microsoft YaHei",system-ui,sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,.button{cursor:pointer;border:0;border-radius:13px;padding:13px 20px;background:#24755b;color:white;font-weight:600;min-height:46px;text-decoration:none;display:inline-block}button:disabled{opacity:.55;cursor:wait}.secondary{background:#e7eee8;color:#325847}.gold{background:#edc470;color:#433a25}.danger{background:#f9e6df;color:#963e30}.shell{max-width:1120px;margin:auto;padding:25px 26px 90px}.header{display:flex;justify-content:space-between;align-items:center;gap:15px}.brand{display:flex;gap:13px;align-items:center}.logo{height:48px;width:48px;background:#24755b;color:#fff;display:grid;place-items:center;border-radius:14px;font-size:25px;box-shadow:5px 5px 0 #cdddcb}.brand strong{font-size:19px}.sub,small{color:#718277;font-size:13px}h1{font-size:34px;line-height:1.35;margin:14px 0}h2{font-size:21px;margin-top:0}h3{font-size:17px;margin:0 0 9px}p{line-height:1.75}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0}.tabs button{background:transparent;color:#64776b}.tabs button.active{background:#243e32;color:#fff}.hero{background:#dce9db;border-radius:24px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0}.hero p{max-width:550px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:bold;color:#4c7660}.pixel{font-size:58px;filter:drop-shadow(5px 6px 0 #b5cfb1);padding:15px}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.card{background:white;padding:24px;border-radius:20px;margin-bottom:18px;border:1px solid #e5e9df}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.task{border-top:1px solid #edf0e9;padding:18px 0}.task:last-child{padding-bottom:0}.task.done h3{text-decoration:line-through;color:#788579}.pill{font-size:12px;border-radius:8px;padding:5px 9px;background:#edf2e9;display:inline-block;color:#4e7059}.pill.orange{background:#fff1d5;color:#8d671e}.task p{margin:8px 0;font-size:13px;color:#7a847b}.task button{padding:9px 13px;min-height:40px;font-size:14px}.bar{height:9px;background:#edf0e6;border-radius:20px;overflow:hidden;margin:16px 0}.bar div{height:100%;background:#64a77a;transition:width .2s}.metric{font-size:38px;font-weight:700}.muted{color:#77847a}.empty{padding:22px;border:1px dashed #cbd7c9;border-radius:13px;color:#6e7d70;line-height:1.8}label{display:block;font-size:14px;color:#52685b;margin:17px 0 7px}input,textarea,select{width:100%;padding:12px;border:1px solid #d8e0d6;border-radius:10px;background:#fbfcf9;color:#263d30;min-height:45px}textarea{resize:vertical;min-height:110px;line-height:1.65}input[type=checkbox]{width:20px;min-height:20px;vertical-align:middle}input[type=range]{padding:0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.note{padding:13px 16px;background:#f9f1df;color:#7e6433;border-radius:12px;font-size:13px;line-height:1.75;margin:15px 0}.login{max-width:460px;margin:60px auto}.login h1{font-size:29px}.voice{text-align:center;padding:30px 20px}.voice .orb{width:110px;height:110px;margin:24px auto;border-radius:30px;background:#dcebdc;display:grid;place-items:center;font-size:45px}.voice .progress{font-size:38px;font-weight:700}.voice button{margin:6px}.photo{max-width:100%;max-height:450px;border-radius:12px;object-fit:contain;background:#f4f4f0}.resource{display:block;padding:15px 0;border-top:1px solid #edf0e9;color:#24684f;text-decoration:none;word-break:break-word}.source{white-space:pre-wrap;font-size:14px;line-height:1.9}.statusline{font-size:12px;color:#7f8b81;margin:18px 0}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#243e32;color:white;padding:14px 24px;border-radius:14px;max-width:90vw;z-index:9;display:none}button:focus-visible,a:focus-visible{outline:3px solid #dfa844;outline-offset:3px}.reviewitem{padding:12px 0;border-bottom:1px solid #eee}.checkline{display:flex;align-items:center;gap:9px;margin:15px 0}.loading{padding:80px;text-align:center}@media(max-width:720px){.shell{padding:18px 16px 80px}.header .sub{display:none}.header button{padding:10px}.hero{padding:23px;gap:5px}.pixel{font-size:38px;padding:0}h1{font-size:27px}.grid{grid-template-columns:1fr;gap:0}.card{padding:20px}.tabs{gap:2px;margin:22px 0;flex-wrap:nowrap;overflow:auto}.tabs button{padding:12px 13px;white-space:nowrap}.formgrid{grid-template-columns:1fr}.login{margin:25px auto}.hero p{font-size:14px}.voice{padding:15px 0}}
