:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#303c36;background:#eeefea;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #638472;outline-offset:4px}button{color:inherit}a{color:inherit;text-decoration:none}.app{max-width:560px;min-height:100dvh;margin:auto;background:#f8f7f3;position:relative;box-shadow:0 0 80px #263e3210}header{height:85px;display:flex;align-items:center;justify-content:space-between;padding:0 27px}.brand{display:flex;align-items:center;gap:9px;font-size:20px;font-weight:600;letter-spacing:2px}.brand-mark{background:#304c3e;color:#fff;border-radius:11px;font-size:17px;width:33px;height:35px;display:grid;place-items:center;font-family:serif}.brand-en{font-size:9px;color:#8e978e;letter-spacing:2px;margin-left:4px}.status{font-size:11px;color:#7b867d;display:flex;align-items:center;gap:6px}.status i{width:5px;height:5px;background:#72937d;border-radius:50%}main{padding:0 27px}.intro{padding:25px 0 26px}.eyebrow{font-size:9px;letter-spacing:2px;color:#8f978c;font-weight:500}h1{font-family:Songti SC,"Noto Serif CJK SC",serif;font-weight:400;font-size:36px;line-height:1.45;letter-spacing:2px;margin:15px 0 13px}h1 span{color:#8d9d84}.intro p,.page-heading p{font-size:12px;color:#92948a;line-height:1.9;margin:0}.portrait{height:380px;border-radius:18px;overflow:hidden;position:relative;background:linear-gradient(130deg,#d4d2c9,#e8e5dc)}.portrait>img{width:100%;height:100%;object-fit:cover;object-position:50% 34%}.portrait-shade{position:absolute;inset:0;background:linear-gradient(transparent 50%,#172b2380)}.portrait-tag{position:absolute;top:17px;left:17px;display:flex;gap:6px;align-items:center;font-size:10px;background:#f9f9f2c9;padding:8px 11px;border-radius:20px;color:#526454;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.portrait-caption{position:absolute;bottom:23px;left:23px;right:20px;display:flex;align-items:center;justify-content:space-between;color:#fff}.portrait-caption small{font-size:10px;letter-spacing:2px;opacity:.8}.portrait-caption h2{font-size:21px;font-family:serif;font-weight:400;letter-spacing:1px;margin:9px 0 0}.portrait-caption h2 span{font-size:16px}.round{border-radius:50%;height:46px;width:46px;display:grid;place-items:center}.glass{background:#ffffff26;border:1px solid #ffffff60;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.suggestions{margin-top:25px}.section-label{font-size:12px;display:flex;align-items:center;justify-content:space-between}.section-label>span{font-size:7px;letter-spacing:1px;color:#a4a79b}.suggestion-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.suggestion-grid button{background:#f0f0e9;border:1px solid #e6e8de;border-radius:12px;padding:17px 10px;display:flex;align-items:center;gap:9px;text-align:left}.suggestion-grid button>svg:first-child{color:#738570;flex-shrink:0}.suggestion-grid span{font-size:12px;flex:1}.suggestion-grid small{display:block;font-size:9px;color:#9a9e90;margin-top:6px}.suggestion-grid button>svg:last-child{color:#a2ac9e;width:12px}.future{display:flex;align-items:center;justify-content:center;gap:16px;margin:21px 0 8px;color:#9da493;font-size:9px}.future span{display:flex;align-items:center;gap:4px}.future small{border-left:1px solid #d9dcd0;padding-left:12px;font-size:9px;color:#aeb1a6}footer{padding:18px 27px 12px;background:#f8f7f3;position:sticky;bottom:0;border-top:1px solid #f0f0e7}.composer{display:flex;align-items:center;padding:8px;background:#fff;border:1px solid #e9e9e1;box-shadow:0 4px 20px #273a2710;border-radius:28px;gap:8px}.composer input{width:0;flex:1;border:0;outline:none;background:none;font-size:12px;color:#354a3b;padding:8px 0}.composer input::placeholder{color:#a7ab9f}.voice{border:0;background:none;color:#83917b;display:flex;padding:4px 7px;border-right:1px solid #e8eae2}.send{height:34px;width:34px;background:#3d5947;border:0;color:#fff;border-radius:50%;display:grid;place-items:center}nav{display:flex;justify-content:space-around;padding-top:19px}nav button{display:flex;align-items:center;gap:7px;border:0;background:none;color:#a0a799;font-size:11px;padding:7px 18px}nav .active{color:#3b5845;background:#e9ede3;border-radius:20px}.footer-note{text-align:center;font-size:8px;color:#b5b9ac;letter-spacing:2px;padding-top:16px}.page-heading{padding:30px 0}.page-heading h1{font-size:29px}.chat{min-height:64vh}.messages{padding-bottom:15px}.message{display:flex;align-items:flex-start;gap:10px;margin:18px 0}.message p{margin:0;background:#eeefe7;border-radius:0 15px 15px;padding:14px 16px;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.avatar{background:#3d5947;color:#fff;min-width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:12px}.message.user{justify-content:flex-end}.user p{background:#3d5947;color:#fff;border-radius:15px 0 15px 15px;max-width:85%}.typing{font-size:12px;color:#8c9689;margin-left:38px}.tasks{min-height:65vh}.task-form{display:flex;gap:10px;margin-bottom:24px}.task-form input{width:0;flex:1;border:1px solid #dfe3d7;padding:14px;border-radius:12px;background:#fff;font-size:12px}.task-form button{background:#3d5947;color:#fff;border:0;border-radius:12px;width:45px}.empty{padding:55px 0;text-align:center;color:#909e89}.empty h2{font-size:18px;font-weight:400}.empty p,.storage-note{font-size:11px;color:#9ca391;line-height:1.8}.storage-note{margin-top:25px}.task{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #e6e8de;font-size:13px}.task span{flex:1;overflow-wrap:anywhere;min-width:0}.checkbox{height:22px;width:22px;border-radius:7px;border:1px solid #9eac95;background:transparent;display:grid;place-items:center}.done span{text-decoration:line-through;color:#9ca391}.done .checkbox{background:#dfe6d7}.delete{border:0;background:none;color:#98a28e}.modal-backdrop{position:fixed;inset:0;background:#162a2355;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:25px;z-index:10}.modal{background:#f8f7f3;padding:30px;border-radius:22px;max-width:360px;box-shadow:0 15px 80px #112d2433}.modal>svg{color:#6e8668}.modal h2{font-size:20px;font-weight:400}.modal p{font-size:13px;line-height:1.9;color:#86917e}.modal button{background:#3d5947;color:#fff;border:0;border-radius:12px;width:100%;padding:12px;margin-top:10px}@media(min-width:600px){.app{margin:24px auto;border-radius:25px;overflow:clip;min-height:calc(100dvh - 48px)}.portrait{height:430px}}@media(max-width:360px){header{padding:0 18px}main{padding:0 18px}footer{padding-left:18px;padding-right:18px}.brand-en{display:none}.section-label>span{display:none}.suggestion-grid button{gap:6px;padding:14px 7px}.portrait-caption h2 span{font-size:14px}}.voice-panel{border:1px solid #dfe3d7;border-radius:16px;background:#f0f2e9;padding:17px;margin-bottom:14px;max-height:55dvh;overflow:auto}.voice-panel-title{display:flex;align-items:center;gap:8px;color:#3d5947;font-size:13px}.voice-panel-title button{margin-left:auto;border:0;background:none;font-size:23px}.voice-panel p{font-size:12px;line-height:1.8;color:#68775f;margin:10px 0}.voice-panel label{display:block;font-size:12px;color:#68775f}.voice-panel input{display:block;width:100%;margin:8px 0 12px;padding:11px;border:1px solid #d5dccd;border-radius:9px;background:#fff}.voice-connect,.voice-disconnect{border:0;border-radius:10px;background:#3d5947;color:#fff;padding:11px 14px;font-size:12px;display:flex;align-items:center;gap:7px;margin:8px 0}.voice-disconnect{background:#77574d}.voice-panel small{font-size:10px;color:#8c9783;display:block;margin-top:12px}.voice-panel .voice-error{color:#9b4037}
