:root{--p:#14b8a6;--p2:#10b981;--bg:#f2f7f6;--t:#1f2d2b;--m:#6b7f7c;color:var(--t);font-family:-apple-system,PingFang SC,Noto Sans CJK SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box;margin:0}body{background:#dfe9e7}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}input,select{font:inherit}.app{background:var(--bg);max-width:480px;min-height:100dvh;margin:0 auto;position:relative;box-shadow:0 0 30px #0001}.content{min-height:100dvh;padding-bottom:72px}.tabbar{width:100%;max-width:480px;padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:10;background:#fff;border-top:1px solid #e5eeec;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar button{color:var(--m);flex-direction:column;flex:1;align-items:center;gap:2px;font-size:11px;display:flex}.tabbar .ti{filter:grayscale();opacity:.6;font-size:22px}.tabbar .on{color:var(--p);font-weight:600}.tabbar .on .ti{filter:none;opacity:1}.hdr{background:#fff;padding:18px 16px 12px}.hdr h1{font-size:22px}.hdr small{color:var(--m)}.grad{color:#fff;background:linear-gradient(135deg,#14b8a6,#10b981)}.grad small{color:#e6fffa}.chat{flex-direction:column;height:calc(100dvh - 72px);display:flex}.chat .hdr{justify-content:space-between;align-items:center;display:flex}.ghost{border:1px solid #fff8;border-radius:16px;padding:4px 12px;font-size:13px}.msgs{flex:1;padding:14px 12px;overflow-y:auto}.bubble{align-items:flex-start;gap:8px;margin-bottom:14px;display:flex}.bubble.user{justify-content:flex-end}.av{background:#ccfbf1;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;display:grid}.b{background:#fff;border-radius:16px;max-width:80%;padding:10px 13px;font-size:15px;line-height:1.6;box-shadow:0 1px 3px #0000000d}.user .b{color:#fff;background:linear-gradient(135deg,#14b8a6,#10b981);border-top-right-radius:4px}.assistant .b{border-top-left-radius:4px}.dots i{background:var(--p);border-radius:50%;width:6px;height:6px;margin:0 2px;animation:1s infinite d;display:inline-block}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes d{50%{opacity:.2}}.quick{flex-wrap:wrap;gap:8px;padding-left:40px;display:flex}.quick button{color:#0f766e;background:#fff;border:1px solid #99f6e4;border-radius:16px;padding:6px 12px;font-size:13px}.composer{background:#fff;border-top:1px solid #e5eeec;gap:8px;padding:10px 12px;display:flex}.composer input{background:#f7fbfa;border:1px solid #d5e4e1;border-radius:20px;outline:none;flex:1;padding:10px 14px}.composer button,.btn{color:#fff;background:linear-gradient(135deg,#14b8a6,#10b981);border-radius:20px;padding:0 18px;font-weight:600}.composer button:disabled{opacity:.45}.btn{width:100%;padding:11px}.btn.sm{width:auto;margin-top:8px;padding:5px 16px;font-size:13px}.chips{gap:16px;margin-top:10px;display:flex;overflow-x:auto}.chips button{color:var(--m);padding-bottom:4px}.chips .on{color:var(--t);border-bottom:3px solid var(--p);font-weight:700}.feed{gap:8px;padding:8px;display:flex}.col{flex-direction:column;flex:1;gap:8px;display:flex}.card{background:#fff;border-radius:10px;overflow:hidden}.cover{place-items:center;font-size:52px;display:grid}.ct{padding:8px 8px 4px;font-size:14px;font-weight:600;line-height:1.4}.cm{color:var(--m);justify-content:space-between;align-items:center;padding:4px 8px 10px;font-size:12px;display:flex}.u{align-items:center;gap:4px;display:flex}.ava{color:#0f766e;background:#99f6e4;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;font-style:normal;display:grid}.like{color:var(--m);font-size:12px}.grid{grid-template-columns:1fr 1fr;gap:12px;padding:14px;display:grid}.mod{text-align:left;border-radius:16px;flex-direction:column;gap:4px;min-height:118px;padding:18px 14px;display:flex}.mi{font-size:32px}.mod b{font-size:16px}.mod small{color:var(--m)}.panel{background:#fff;border-radius:14px;margin:0 14px 12px;padding:14px}.pad .panel{margin:0 0 12px}.pad{padding:14px}.tip{color:#065f46;background:#ecfdf5;font-size:14px}.sub{align-items:center;gap:8px;display:flex}.back{color:var(--p);font-size:30px;line-height:1}.kv{justify-content:space-between;align-items:center;padding:4px 0;display:flex}.kv span{color:var(--m)}.tag{background:#ccfbf1;border-radius:10px;padding:2px 8px;font-size:12px;color:#0f766e!important}.news p{margin:6px 0;line-height:1.5}.news{border-left:4px solid #fbbf24}.row{border-bottom:1px solid #f0f4f3;justify-content:space-between;padding:12px 2px;display:flex}.list .row:last-child,.pad .row{border:0}.sum,.stats{text-align:center;display:flex}.sum div,.stats div{flex-direction:column;flex:1;display:flex}.sum b,.stats b{color:var(--p);font-size:22px}.sum span,.stats span{color:var(--m);font-size:12px}.form{flex-direction:column;gap:10px;display:flex}.form input,.form select{background:#f7fbfa;border:1px solid #d5e4e1;border-radius:10px;width:100%;padding:10px}.two{gap:8px;display:flex}.seg{gap:6px;display:flex}.seg.wrap{flex-wrap:wrap}.seg button{white-space:nowrap;background:#f0f6f5;border-radius:10px;flex:1;padding:7px 10px;font-size:14px}.seg.wrap button{flex:none}.seg .on{background:var(--p);color:#fff}.sec{margin:6px 0 10px;font-size:15px}.empty{color:var(--m);text-align:center;padding:16px;font-size:14px}.rec{align-items:center;gap:8px;display:flex}.rec>div{flex:1}.rec small{color:var(--m)}.x{color:#aaa;font-size:20px}.gi{border-radius:10px;padding:2px 8px;font-size:12px}.g低{color:#166534;background:#dcfce7}.g中{color:#854d0e;background:#fef9c3}.g高{color:#991b1b;background:#fee2e2}.bar{background:#e6f2f0;border-radius:6px;height:10px;margin:8px 0;overflow:hidden}.bar i{background:linear-gradient(90deg,#14b8a6,#10b981);height:100%;display:block}.profile{align-items:center;gap:14px;padding:30px 18px 46px;display:flex}.pava{background:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font-size:36px;display:grid}.badge{background:#fff3;border-radius:10px;margin-top:6px;padding:2px 10px;font-size:12px;display:inline-block}.card-pad{background:#fff;border-radius:14px;margin:-30px 14px 12px;padding:16px 0;position:relative;box-shadow:0 4px 14px #0000000f}.panel h3{margin-bottom:6px;font-size:16px}.fine{text-align:center;color:var(--m);padding:8px 0 16px;font-size:12px}
