Files
2026-07-24 23:11:20 +08:00

1919 lines
123 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AI 记账 · 高保真 UI 稿 v0.5</title>
<style>
:root{
--primary:#00B386; /* 清新薄荷绿 */
--primary-deep:#009973;
--primary-bg:#E6F7F1;
--ai:#5B6BF5; /* AI 专属靛蓝 */
--ai-bg:#EEF0FE;
--red:#F0642D;
--text:#191F26;
--text2:#5E6772;
--text3:#9AA3AD;
--bg:#F6F7F9;
--card:#FFFFFF;
--line:#EEF0F3;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;}
body{
font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
background:#F0F2F5;color:var(--text);padding:48px 20px 80px;
}
svg{display:block;}
.ic{stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
h1.page-title{text-align:center;font-size:24px;font-weight:700;margin-bottom:6px;color:#191F26;}
p.page-sub{color:#9AA3AD;text-align:center;font-size:13px;margin-bottom:44px;}
.section-label{
color:#191F26;font-size:17px;font-weight:700;margin:56px auto 22px;max-width:1400px;
display:flex;align-items:center;gap:10px;
}
.section-label .tag{font-size:11px;font-weight:600;color:#fff;background:var(--primary);padding:4px 11px;border-radius:20px;}
.section-label .tag.ai{background:var(--ai);}
.row{display:flex;flex-wrap:wrap;gap:40px;justify-content:center;max-width:1400px;margin:0 auto;}
.frame-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;}
.frame-name{color:#9AA3AD;font-size:13px;}
/* ============ 手机壳 ============ */
.phone{
width:375px;height:812px;background:var(--bg);border-radius:44px;
box-shadow:0 0 0 10px #1c1f24,0 0 0 12px #3c4149,0 24px 60px rgba(20,30,40,.35);
overflow:hidden;position:relative;display:flex;flex-direction:column;
}
.statusbar{
height:44px;flex:none;display:flex;justify-content:space-between;align-items:center;
padding:0 26px;font-size:13.5px;font-weight:600;position:relative;z-index:5;color:var(--text);
}
.statusbar.light{color:#fff;}
.statusbar .notch{position:absolute;left:50%;top:0;transform:translateX(-50%);width:150px;height:26px;background:#1c1f24;border-radius:0 0 16px 16px;}
.statusbar .sb-ics{display:flex;gap:5px;align-items:center;}
.screen{flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative;}
.homebar{height:22px;flex:none;display:flex;justify-content:center;align-items:center;}
.homebar i{width:128px;height:5px;border-radius:3px;background:#1c1f24;display:block;opacity:.9;}
.navbar{height:48px;flex:none;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;position:relative;background:var(--bg);}
.navbar .back{position:absolute;left:14px;color:var(--text);display:flex;}
.navbar .action{position:absolute;right:16px;font-size:13px;color:var(--primary);font-weight:500;}
.content{flex:1;overflow:hidden;padding:0 16px;}
.card{background:var(--card);border-radius:14px;padding:16px;border:.5px solid var(--line);}
/* tabbar */
.tabbar{flex:none;height:60px;background:#fff;border-top:.5px solid var(--line);display:flex;align-items:center;justify-content:space-around;}
.tab{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--text3);width:56px;}
.tab.active{color:var(--primary);font-weight:600;}
.tab-fab{
width:46px;height:46px;border-radius:16px;margin-top:-24px;background:var(--primary);
display:flex;align-items:center;justify-content:center;color:#fff;
box-shadow:0 6px 14px rgba(0,179,134,.32);border:3px solid var(--bg);
}
/* AI 头像(SVG 猫) */
.ai-face{border-radius:50%;background:var(--ai-bg);display:flex;align-items:center;justify-content:center;color:var(--ai);flex:none;}
.ai-face.solid{background:var(--ai);color:#fff;}
/* ============ P1 首页 ============ */
.home-header{margin:0 -16px;padding:14px 20px 20px;background:var(--bg);}
.home-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.home-top .book{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:700;}
.home-top .book svg{color:var(--text3);}
.home-top .rt{display:flex;gap:16px;color:var(--text2);}
.hero{
background:linear-gradient(135deg,var(--primary) 0%,#00C99A 100%);
border-radius:18px;padding:20px;color:#fff;position:relative;overflow:hidden;
}
.hero::after{content:"";position:absolute;right:-30px;top:-40px;width:150px;height:150px;border-radius:50%;background:rgba(255,255,255,.08);}
.hero::before{content:"";position:absolute;right:30px;bottom:-60px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.06);}
.hero .lb{font-size:12px;opacity:.85;display:flex;align-items:center;gap:6px;}
.hero .num{font-size:32px;font-weight:700;margin:6px 0 16px;font-variant-numeric:tabular-nums;letter-spacing:.3px;}
.hero .io{display:flex;gap:0;font-size:11.5px;opacity:.95;position:relative;z-index:1;}
.hero .io > div{flex:1;}
.hero .io b{display:block;font-size:15px;margin-top:3px;font-weight:600;font-variant-numeric:tabular-nums;}
.hero .bdg{
margin-top:14px;background:rgba(255,255,255,.14);border-radius:10px;padding:9px 12px;
display:flex;align-items:center;gap:10px;font-size:11px;position:relative;z-index:1;backdrop-filter:blur(4px);
}
.hero .bdg .bar{flex:1;height:4px;background:rgba(255,255,255,.25);border-radius:2px;overflow:hidden;}
.hero .bdg .bar i{display:block;height:100%;width:62%;background:#fff;border-radius:2px;}
.ai-entry{
margin-top:12px;background:#fff;border:.5px solid var(--line);
border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:12px;
}
.ai-entry .txt{flex:1;min-width:0;}
.ai-entry .t1{font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:6px;}
.ai-entry .t1 .dot{width:6px;height:6px;background:var(--primary);border-radius:50%;}
.ai-entry .t2{font-size:11.5px;color:var(--text2);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ai-entry .go{flex:none;color:var(--ai);font-size:12px;padding:6px 12px;border-radius:16px;font-weight:600;background:var(--ai-bg);}
.sec-head{display:flex;justify-content:space-between;align-items:baseline;margin:16px 2px 10px;}
.sec-head .h{font-size:14px;font-weight:700;}
.sec-head .more{font-size:11.5px;color:var(--text3);}
.day-group{background:#fff;border-radius:14px;padding:2px 14px;border:.5px solid var(--line);}
.day-head{display:flex;justify-content:space-between;font-size:11px;color:var(--text3);padding:10px 2px 7px;border-bottom:.5px solid var(--line);}
.titem{display:flex;align-items:center;gap:12px;padding:11px 2px;}
.titem + .titem{border-top:.5px solid var(--line);}
.cat-ic{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex:none;}
.titem .mid{flex:1;min-width:0;}
.titem .n{font-size:13.5px;font-weight:500;}
.titem .d{font-size:10.5px;color:var(--text3);margin-top:2px;display:flex;align-items:center;gap:5px;}
.ai-badge{font-size:9px;color:var(--ai);background:var(--ai-bg);padding:1.5px 6px;border-radius:6px;font-weight:600;display:inline-flex;align-items:center;gap:3px;}
.titem .amt{font-size:14.5px;font-weight:600;font-variant-numeric:tabular-nums;}
.amt.in{color:var(--primary);}
/* ============ P2 手动记账 ============ */
.seg{display:flex;background:#EBEDF0;border-radius:9px;padding:3px;margin:8px auto 2px;width:216px;}
.seg span{flex:1;text-align:center;font-size:13px;padding:6px 0;border-radius:7px;color:var(--text2);}
.seg span.on{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 3px rgba(25,31,38,.08);}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px 0;padding:6px 2px;}
.cat{display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 0;font-size:11px;color:var(--text2);}
.cat .ci{width:44px;height:44px;border-radius:14px;background:#fff;border:.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text2);}
.cat.on{color:var(--primary);font-weight:600;}
.cat.on .ci{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 10px rgba(0,179,134,.28);}
.amount-panel{background:#fff;border-top:.5px solid var(--line);padding:12px 18px 8px;flex:none;}
.amount-line{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:.5px solid var(--line);}
.amount-line .cat-mini{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;}
.amount-line .num{font-size:30px;font-weight:700;font-variant-numeric:tabular-nums;}
.amount-line .num i{font-style:normal;display:inline-block;width:2px;height:26px;background:var(--primary);margin-left:2px;animation:blink 1s infinite;vertical-align:-3px;}
@keyframes blink{50%{opacity:0;}}
.memo-line{display:flex;gap:8px;padding:10px 0;font-size:11.5px;overflow:hidden;}
.memo-chip{background:#F2F3F5;padding:5px 11px;border-radius:13px;white-space:nowrap;color:var(--text2);display:flex;align-items:center;gap:5px;}
.memo-chip.on{background:var(--primary-bg);color:var(--primary-deep);}
.keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:4px 0 10px;}
.key{height:50px;background:#F4F5F7;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:600;}
.key.fn{font-size:13px;color:var(--text2);font-weight:500;}
.key.ok{grid-row:span 2;height:auto;background:var(--primary);color:#fff;font-size:15px;font-weight:600;box-shadow:0 4px 12px rgba(0,179,134,.25);}
/* ============ P3 统计 ============ */
.stat-tabs{display:flex;gap:20px;justify-content:center;font-size:13.5px;color:var(--text2);padding:6px 0 2px;background:var(--bg);}
.stat-tabs .on{color:var(--text);font-weight:700;position:relative;}
.stat-tabs .on::after{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:-6px;width:16px;height:3px;border-radius:2px;background:var(--primary);}
.month-pick{display:flex;justify-content:center;align-items:center;gap:16px;font-size:12.5px;color:var(--text2);padding:14px 0 8px;}
.month-pick b{font-size:14.5px;color:var(--text);}
.donut-wrap{display:flex;align-items:center;gap:16px;}
.donut{
width:126px;height:126px;border-radius:50%;flex:none;position:relative;
background:conic-gradient(#00B386 0 34%, #5B6BF5 34% 55%, #F5A623 55% 71%, #4DA6FF 71% 84%, #F0642D 84% 93%, #E3E6EA 93% 100%);
}
.donut::after{content:"";position:absolute;inset:20px;background:#fff;border-radius:50%;}
.donut .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;}
.donut .c .t{font-size:10px;color:var(--text3);}
.donut .c .v{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;}
.legend{flex:1;display:flex;flex-direction:column;gap:8px;font-size:11.5px;}
.legend .li{display:flex;align-items:center;gap:7px;color:var(--text2);}
.legend .sw{width:8px;height:8px;border-radius:2.5px;flex:none;}
.legend .pct{margin-left:auto;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;}
.bars{display:flex;align-items:flex-end;gap:9px;height:104px;padding:14px 4px 0;}
.bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:9px;color:var(--text3);}
.bar i{width:100%;max-width:20px;border-radius:5px 5px 2px 2px;background:#DFF3EC;display:block;}
.bar.hl i{background:var(--primary);}
.bar.hl{color:var(--primary);font-weight:600;}
.rank-item{display:flex;align-items:center;gap:12px;padding:9px 2px;}
.rank-item .info{flex:1;}
.rank-item .n{font-size:12.5px;font-weight:500;display:flex;justify-content:space-between;}
.rank-item .n b{font-variant-numeric:tabular-nums;}
.prog{height:4px;background:#F0F2F5;border-radius:2px;margin-top:7px;overflow:hidden;}
.prog i{display:block;height:100%;border-radius:2px;}
.ai-insight{margin-top:12px;background:var(--ai-bg);border-radius:14px;padding:14px;font-size:12px;color:#4A5160;line-height:1.7;}
.ai-insight .h{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;color:var(--ai);margin-bottom:6px;}
/* ============ P4 聊天 ============ */
.chat-nav{height:52px;flex:none;display:flex;align-items:center;gap:10px;padding:0 14px;background:#fff;border-bottom:.5px solid var(--line);}
.chat-nav .who{flex:1;display:flex;align-items:center;gap:10px;}
.chat-nav .meta .n{font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:6px;}
.persona-chip{font-size:9px;background:var(--ai-bg);color:var(--ai);padding:2px 7px;border-radius:8px;font-weight:600;}
.chat-nav .meta .s{font-size:10px;color:var(--primary);display:flex;align-items:center;gap:4px;margin-top:1px;}
.chat-nav .meta .s::before{content:"";width:5px;height:5px;background:var(--primary);border-radius:50%;}
.chat-body{flex:1;overflow:hidden;padding:14px 14px 6px;display:flex;flex-direction:column;gap:12px;background:var(--bg);}
.time-tag{align-self:center;font-size:10px;color:var(--text3);padding:2px 10px;}
.msg{display:flex;gap:9px;max-width:88%;}
.msg .av{width:32px;height:32px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;}
.msg.me{align-self:flex-end;flex-direction:row-reverse;}
.msg.me .av{background:#E2E6EB;color:var(--text2);}
.bubble{background:#fff;border-radius:3px 15px 15px 15px;padding:10px 13px;font-size:13px;line-height:1.55;border:.5px solid var(--line);}
.msg.me .bubble{background:var(--primary);color:#fff;border:none;border-radius:15px 3px 15px 15px;}
.sticker-card{
width:104px;border-radius:14px;background:#fff;border:.5px solid var(--line);
display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:14px 8px 10px;
}
.sticker-card .t{font-size:10px;color:var(--text2);font-weight:600;}
.bill-card{width:232px;background:#fff;border-radius:14px;overflow:hidden;border:.5px solid var(--line);}
.bill-card .bc-head{background:var(--ai);color:#fff;padding:8px 13px;font-size:11px;display:flex;align-items:center;gap:6px;font-weight:600;}
.bill-card .bc-body{padding:12px 13px;display:flex;align-items:center;gap:11px;}
.bill-card .bc-amt{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;}
.bill-card .bc-cat{font-size:11px;color:var(--text2);margin-top:2px;}
.bill-card .bc-foot{display:flex;border-top:.5px solid var(--line);font-size:12px;text-align:center;}
.bill-card .bc-foot span{flex:1;padding:9px 0;color:var(--text2);}
.bill-card .bc-foot span + span{border-left:.5px solid var(--line);color:var(--ai);font-weight:600;}
.chat-input{flex:none;background:#fff;border-top:.5px solid var(--line);padding:9px 12px;display:flex;align-items:center;gap:10px;color:var(--text2);}
.chat-input .field{flex:1;background:#F2F3F5;border-radius:18px;padding:9px 14px;font-size:12.5px;color:var(--text3);}
.quick-row{display:flex;gap:8px;padding:8px 12px 4px;background:#fff;overflow:hidden;}
.quick{font-size:11px;color:var(--text2);background:#F2F3F5;padding:5px 12px;border-radius:13px;white-space:nowrap;display:flex;align-items:center;gap:5px;}
.quick svg{color:var(--primary);}
/* ============ P5 性格设置 ============ */
.persona-hero{text-align:center;padding:20px 0 6px;}
.persona-hero .n{font-size:16px;font-weight:700;margin-top:10px;}
.persona-hero .d{font-size:11.5px;color:var(--text3);margin-top:3px;}
.p-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
.p-card{background:#fff;border-radius:14px;padding:13px;border:1.5px solid var(--line);position:relative;}
.p-card.on{border-color:var(--ai);background:#FBFBFF;}
.p-card .check{position:absolute;top:10px;right:10px;width:17px;height:17px;border-radius:50%;background:var(--ai);color:#fff;display:none;align-items:center;justify-content:center;}
.p-card.on .check{display:flex;}
.p-card .n{font-size:13.5px;font-weight:700;margin-top:9px;}
.p-card .d{font-size:10px;color:var(--text2);margin-top:4px;line-height:1.5;}
.p-card .sample{margin-top:9px;font-size:10px;background:var(--bg);border-radius:8px 8px 8px 2px;padding:7px 9px;color:var(--text2);line-height:1.5;}
.slider-block .lb{display:flex;justify-content:space-between;font-size:12px;color:var(--text2);margin-bottom:8px;}
.slider-block .lb b{color:var(--text);}
.track{height:5px;border-radius:3px;background:#E8EAEF;position:relative;}
.track i{position:absolute;left:0;top:0;height:100%;border-radius:3px;background:var(--ai);}
.track .knob{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.18);border:2px solid var(--ai);}
.save-btn{margin-top:16px;background:var(--ai);color:#fff;text-align:center;padding:13px;border-radius:13px;font-size:14.5px;font-weight:600;box-shadow:0 6px 16px rgba(91,107,245,.3);}
/* ============ P6 我的 ============ */
.me-head{padding:14px 4px 18px;display:flex;align-items:center;gap:14px;}
.me-head .av{width:56px;height:56px;border-radius:50%;background:#fff;border:.5px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--text2);}
.me-head .n{font-size:17px;font-weight:700;display:flex;align-items:center;}
.me-head .d{font-size:11px;color:var(--text3);margin-top:4px;}
.vip{font-size:9px;background:var(--text);color:#F5D08C;padding:2px 7px;border-radius:7px;font-weight:700;margin-left:8px;}
.mode-card{background:#fff;border-radius:14px;padding:15px;border:.5px solid var(--line);}
.mode-card .h{font-size:13.5px;font-weight:700;margin-bottom:3px;}
.mode-card .d{font-size:10.5px;color:var(--text3);margin-bottom:12px;}
.mode-opts{display:flex;gap:10px;}
.mode-opt{flex:1;border:1.5px solid var(--line);border-radius:12px;padding:12px;position:relative;}
.mode-opt.on{border-color:var(--primary);background:#FAFFFD;}
.mode-opt .n{font-size:12.5px;font-weight:700;margin-top:8px;}
.mode-opt .d{font-size:9.5px;color:var(--text2);margin-top:4px;line-height:1.5;}
.mode-opt .radio{position:absolute;top:11px;right:11px;width:15px;height:15px;border-radius:50%;border:1.5px solid #C9CEDA;}
.mode-opt.on .radio{border-color:var(--primary);background:var(--primary);box-shadow:inset 0 0 0 3px #fff;}
.list-group{margin-top:12px;background:#fff;border-radius:14px;overflow:hidden;border:.5px solid var(--line);}
.li-row{display:flex;align-items:center;gap:12px;padding:13px 15px;font-size:13.5px;}
.li-row + .li-row{border-top:.5px solid var(--line);}
.li-row .lic{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;}
.li-row .val{margin-left:auto;color:var(--text3);font-size:11.5px;display:flex;align-items:center;gap:4px;}
/* ============ P7 全AI模式(浅色玻璃) ============ */
.phone.aimode{background:linear-gradient(165deg,#EEF0FE 0%,#F6F7F9 40%,#E6F7F1 100%);}
.aimode-head{flex:none;padding:6px 16px 12px;}
.aimode-head .top{display:flex;align-items:center;gap:11px;}
.aimode-head .meta{flex:1;}
.aimode-head .n{font-size:15.5px;font-weight:700;display:flex;align-items:center;gap:7px;}
.aimode-head .s{font-size:10.5px;color:var(--text3);margin-top:2px;}
.aimode-head .sw{font-size:10.5px;color:var(--ai);border:1px solid rgba(91,107,245,.35);padding:5px 11px;border-radius:14px;display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.6);}
.mini-dash{margin-top:12px;display:flex;gap:8px;}
.mini-card{flex:1;background:rgba(255,255,255,.72);border:.5px solid rgba(255,255,255,.9);border-radius:12px;padding:9px 12px;backdrop-filter:blur(8px);}
.mini-card .t{font-size:9.5px;color:var(--text3);}
.mini-card .v{font-size:14.5px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums;}
.mini-card .v.g{color:var(--primary);}
.mini-card .v.r{color:var(--red);}
.aimode .chat-body{background:transparent;}
.aimode .bubble{background:rgba(255,255,255,.85);backdrop-filter:blur(6px);border:.5px solid rgba(255,255,255,.9);}
.aimode .msg.me .bubble{background:var(--ai);border:none;color:#fff;}
.aimode .msg.me .av{background:rgba(255,255,255,.8);}
.aimode .bill-card,.aimode .sticker-card{background:rgba(255,255,255,.9);backdrop-filter:blur(6px);}
.aimode .chat-input{background:rgba(255,255,255,.8);backdrop-filter:blur(10px);border-top:.5px solid rgba(255,255,255,.9);}
.aimode .chat-input .field{background:rgba(242,243,245,.9);}
.aimode .quick-row{background:transparent;}
.aimode .quick{background:rgba(255,255,255,.72);border:.5px solid rgba(255,255,255,.9);}
.aimode .quick svg{color:var(--ai);}
.bc-prog{padding:0 13px 11px;font-size:10px;color:var(--text2);}
.bc-prog .prog{margin-top:5px;}
.typing{display:flex;gap:4px;padding:4px 2px;}
.typing i{width:6px;height:6px;border-radius:50%;background:#B9BFD9;animation:ty 1.2s infinite;}
.typing i:nth-child(2){animation-delay:.2s;}
.typing i:nth-child(3){animation-delay:.4s;}
@keyframes ty{0%,60%,100%{transform:translateY(0);opacity:.5;}30%{transform:translateY(-4px);opacity:1;}}
</style>
</head>
<body>
<!-- ======= SVG 图标库 ======= -->
<svg width="0" height="0" style="position:absolute;">
<defs>
<!-- 猫头 AI 形象 -->
<symbol id="i-cat" viewBox="0 0 24 24">
<path class="ic" d="M5.5 9.5 4 4.5l4.2 2.1a8 8 0 0 1 7.6 0L20 4.5l-1.5 5A8 8 0 0 1 20 13c0 4.4-3.6 7.5-8 7.5S4 17.4 4 13c0-1.3.6-2.5 1.5-3.5Z"/>
<circle cx="9" cy="12.5" r="1" fill="currentColor" stroke="none"/>
<circle cx="15" cy="12.5" r="1" fill="currentColor" stroke="none"/>
<path class="ic" d="M10.5 15.8c.9.9 2.1.9 3 0"/>
</symbol>
<symbol id="i-sparkle" viewBox="0 0 24 24">
<path class="ic" d="M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9L12 3Z"/>
<path class="ic" d="M18.5 15.5l.9 2.1 2.1.9-2.1.9-.9 2.1-.9-2.1-2.1-.9 2.1-.9.9-2.1Z"/>
</symbol>
<symbol id="i-home" viewBox="0 0 24 24"><path class="ic" d="M4 11.5 12 4l8 7.5M6 10v9h12v-9"/><path class="ic" d="M10 19v-5h4v5"/></symbol>
<symbol id="i-chart" viewBox="0 0 24 24"><path class="ic" d="M4 20h16"/><path class="ic" d="M7 16v-4M12 16V7M17 16v-6"/></symbol>
<symbol id="i-chat" viewBox="0 0 24 24"><path class="ic" d="M20 12a8 8 0 0 1-11.6 7.1L4 20l1-4.1A8 8 0 1 1 20 12Z"/><path class="ic" d="M8.5 12h.01M12 12h.01M15.5 12h.01"/></symbol>
<symbol id="i-user" viewBox="0 0 24 24"><circle class="ic" cx="12" cy="8.5" r="3.5"/><path class="ic" d="M5.5 19.5c1-3.3 3.5-5 6.5-5s5.5 1.7 6.5 5"/></symbol>
<symbol id="i-plus" viewBox="0 0 24 24"><path class="ic" d="M12 5v14M5 12h14"/></symbol>
<symbol id="i-search" viewBox="0 0 24 24"><circle class="ic" cx="11" cy="11" r="6.5"/><path class="ic" d="m20 20-3.8-3.8"/></symbol>
<symbol id="i-bell" viewBox="0 0 24 24"><path class="ic" d="M6 10a6 6 0 1 1 12 0c0 4 1.5 5.5 1.5 5.5h-15S6 14 6 10Z"/><path class="ic" d="M10 19a2.2 2.2 0 0 0 4 0"/></symbol>
<symbol id="i-eye" viewBox="0 0 24 24"><path class="ic" d="M3 12s3.5-6 9-6 9 6 9 6-3.5 6-9 6-9-6-9-6Z"/><circle class="ic" cx="12" cy="12" r="2.5"/></symbol>
<symbol id="i-chev-d" viewBox="0 0 24 24"><path class="ic" d="m7 10 5 5 5-5"/></symbol>
<symbol id="i-chev-r" viewBox="0 0 24 24"><path class="ic" d="m10 7 5 5-5 5"/></symbol>
<symbol id="i-chev-l" viewBox="0 0 24 24"><path class="ic" d="m14 7-5 5 5 5"/></symbol>
<symbol id="i-close" viewBox="0 0 24 24"><path class="ic" d="M6 6l12 12M18 6 6 18"/></symbol>
<symbol id="i-check" viewBox="0 0 24 24"><path class="ic" d="m5 12.5 4.5 4.5L19 7.5"/></symbol>
<symbol id="i-gear" viewBox="0 0 24 24"><circle class="ic" cx="12" cy="12" r="3"/><path class="ic" d="M12 4.5v-2M12 21.5v-2M19.5 12h2M2.5 12h2M17.3 6.7l1.4-1.4M5.3 18.7l1.4-1.4M17.3 17.3l1.4 1.4M5.3 5.3l1.4 1.4"/></symbol>
<symbol id="i-mic" viewBox="0 0 24 24"><rect class="ic" x="9" y="3" width="6" height="11" rx="3"/><path class="ic" d="M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5V21"/></symbol>
<symbol id="i-smile" viewBox="0 0 24 24"><circle class="ic" cx="12" cy="12" r="8.5"/><path class="ic" d="M9 10h.01M15 10h.01M8.8 14.2c1.8 1.8 4.6 1.8 6.4 0"/></symbol>
<symbol id="i-camera" viewBox="0 0 24 24"><path class="ic" d="M4 8h3l1.5-2h7L17 8h3v11H4V8Z"/><circle class="ic" cx="12" cy="13" r="3.2"/></symbol>
<!-- 分类 -->
<symbol id="i-food" viewBox="0 0 24 24"><path class="ic" d="M4 11h16a8 8 0 0 1-16 0Z"/><path class="ic" d="M7 8c2-1.5 8-1.5 10 0M12 6V4"/></symbol>
<symbol id="i-cup" viewBox="0 0 24 24"><path class="ic" d="M7 6h10l-1.2 13H8.2L7 6Z"/><path class="ic" d="M7.5 11h9M11 3l1.5 3"/></symbol>
<symbol id="i-cart" viewBox="0 0 24 24"><path class="ic" d="M4 5h2.5l1.8 9.5h9.4L20 8H7"/><circle class="ic" cx="9.5" cy="19" r="1.4"/><circle class="ic" cx="16.5" cy="19" r="1.4"/></symbol>
<symbol id="i-metro" viewBox="0 0 24 24"><rect class="ic" x="6" y="4" width="12" height="13" rx="3"/><path class="ic" d="M6 11h12M9.5 14.5h.01M14.5 14.5h.01M8.5 20l-1.5 1.5M15.5 20l1.5 1.5"/></symbol>
<symbol id="i-house" viewBox="0 0 24 24"><path class="ic" d="M4 11.5 12 4l8 7.5M6.5 9.7V19h11V9.7"/></symbol>
<symbol id="i-game" viewBox="0 0 24 24"><path class="ic" d="M7 8h10a4.5 4.5 0 0 1 4.4 5.4l-.6 3a3 3 0 0 1-5.2 1.4L14 16h-4l-1.6 1.8a3 3 0 0 1-5.2-1.4l-.6-3A4.5 4.5 0 0 1 7 8Z"/><path class="ic" d="M8.5 11v3M7 12.5h3M15.5 11.5h.01M17.5 13.5h.01"/></symbol>
<symbol id="i-pill" viewBox="0 0 24 24"><rect class="ic" x="3.5" y="9" width="17" height="7" rx="3.5" transform="rotate(-40 12 12.5)"/><path class="ic" d="m8.8 8.6 6.4 6.8"/></symbol>
<symbol id="i-book" viewBox="0 0 24 24"><path class="ic" d="M5 5.5A2.5 2.5 0 0 1 7.5 3H19v15.5H7.5A2.5 2.5 0 0 0 5 21V5.5Z"/><path class="ic" d="M5 18.5A2.5 2.5 0 0 1 7.5 16H19"/></symbol>
<symbol id="i-shirt" viewBox="0 0 24 24"><path class="ic" d="m9 4-5 3 2 3.5 2-1V20h8v-10.5l2 1L20 7l-5-3a3 3 0 0 1-6 0Z"/></symbol>
<symbol id="i-gift" viewBox="0 0 24 24"><rect class="ic" x="4" y="9" width="16" height="4"/><path class="ic" d="M6 13v7h12v-7M12 9v11M12 9C9 9 7.5 7.5 8 5.8 8.6 4 11 4.5 12 7c1-2.5 3.4-3 4-1.2.5 1.7-1 3.2-4 3.2Z"/></symbol>
<symbol id="i-plane" viewBox="0 0 24 24"><path class="ic" d="M10.5 13.5 4 11l1.5-2 6 1 4.5-5.5 2 .8-2.5 6.2 4 2.5-1.2 1.7-4.6-1.2-2.7 3.5-1.6-.6.6-3.9Z"/></symbol>
<symbol id="i-money" viewBox="0 0 24 24"><circle class="ic" cx="12" cy="12" r="8.5"/><path class="ic" d="M9 9.5 12 12l3-2.5M12 12v5M9.5 14.5h5"/></symbol>
<symbol id="i-wallet" viewBox="0 0 24 24"><path class="ic" d="M4 7.5A2.5 2.5 0 0 1 6.5 5H18v3"/><path class="ic" d="M4 7.5V18a2 2 0 0 0 2 2h14V8H6.5A2.5 2.5 0 0 1 4 7.5Z"/><path class="ic" d="M16 13.5h.01"/></symbol>
<symbol id="i-target" viewBox="0 0 24 24"><circle class="ic" cx="12" cy="12" r="8.5"/><circle class="ic" cx="12" cy="12" r="4.5"/><circle cx="12" cy="12" r="1.2" fill="currentColor" stroke="none"/></symbol>
<symbol id="i-tag" viewBox="0 0 24 24"><path class="ic" d="m12 3 8 1 1 8-9.5 9.5-9-9L12 3Z"/><circle class="ic" cx="15.5" cy="8.5" r="1.3"/></symbol>
<symbol id="i-export" viewBox="0 0 24 24"><path class="ic" d="M12 15V4M8 8l4-4 4 4"/><path class="ic" d="M5 14v6h14v-6"/></symbol>
<symbol id="i-cloud" viewBox="0 0 24 24"><path class="ic" d="M7 18a4 4 0 0 1-.5-8A5.5 5.5 0 0 1 17 8.5 4.2 4.2 0 0 1 17.5 17"/><path class="ic" d="M12 12v7M9.5 14.5 12 12l2.5 2.5"/></symbol>
<symbol id="i-swap" viewBox="0 0 24 24"><path class="ic" d="M7 9h11l-3-3M17 15H6l3 3"/></symbol>
<symbol id="i-receipt" viewBox="0 0 24 24"><path class="ic" d="M6 3h12v18l-2-1.5L14 21l-2-1.5L10 21l-2-1.5L6 21V3Z"/><path class="ic" d="M9 8h6M9 12h6"/></symbol>
<symbol id="i-fire" viewBox="0 0 24 24"><path class="ic" d="M12 21c-3.9 0-6.5-2.4-6.5-6 0-3 2.3-5.4 3.5-7.5.6 1.3 1.3 2 2.3 2.7C11.5 8 12 5.5 14 3c.6 3 4.5 5.6 4.5 11 .1 4-2.6 7-6.5 7Z"/><path class="ic" d="M12 21c-1.8 0-3-1.2-3-3 0-1.5 1.2-2.6 2-4 1.5 1.3 4 2.2 4 4.3 0 1.6-1.2 2.7-3 2.7Z"/></symbol>
<!-- 表情包用大图标 -->
<symbol id="i-cat-angry" viewBox="0 0 24 24">
<path class="ic" d="M5.5 9.5 4 4.5l4.2 2.1a8 8 0 0 1 7.6 0L20 4.5l-1.5 5A8 8 0 0 1 20 13c0 4.4-3.6 7.5-8 7.5S4 17.4 4 13c0-1.3.6-2.5 1.5-3.5Z"/>
<path class="ic" d="m8 11.5 2 .8M16 11.5l-2 .8M10.2 16.2c1.1-.8 2.5-.8 3.6 0"/>
</symbol>
<symbol id="i-cat-happy" viewBox="0 0 24 24">
<path class="ic" d="M5.5 9.5 4 4.5l4.2 2.1a8 8 0 0 1 7.6 0L20 4.5l-1.5 5A8 8 0 0 1 20 13c0 4.4-3.6 7.5-8 7.5S4 17.4 4 13c0-1.3.6-2.5 1.5-3.5Z"/>
<path class="ic" d="M8 12.5c.6-.8 1.4-.8 2 0M14 12.5c.6-.8 1.4-.8 2 0M10 15.5c1.2 1.2 2.8 1.2 4 0"/>
</symbol>
<symbol id="i-pleading" viewBox="0 0 24 24">
<circle class="ic" cx="12" cy="12" r="8.5"/>
<circle class="ic" cx="9" cy="11" r="1.6"/><circle class="ic" cx="15" cy="11" r="1.6"/>
<circle cx="9.5" cy="10.5" r=".5" fill="currentColor" stroke="none"/><circle cx="15.5" cy="10.5" r=".5" fill="currentColor" stroke="none"/>
<path class="ic" d="M10.8 15.5c.8-.5 1.6-.5 2.4 0"/>
</symbol>
<!-- v0.4 新增 -->
<symbol id="i-dog" viewBox="0 0 24 24">
<path class="ic" d="M7 6.5C5 7.5 4 9.5 4 12c0 4.4 3.6 7.5 8 7.5s8-3.1 8-7.5c0-2.5-1-4.5-3-5.5"/>
<path class="ic" d="M7 6.5C6.5 4 7.5 2.5 9.5 3.5L11 5M17 6.5c.5-2.5-.5-4-2.5-3l-1.5 1.5"/>
<circle cx="9.5" cy="11.5" r="1" fill="currentColor" stroke="none"/>
<circle cx="14.5" cy="11.5" r="1" fill="currentColor" stroke="none"/>
<path class="ic" d="M12 14v1.5M12 15.5c-.8.8-1.7.8-2.5.2M12 15.5c.8.8 1.7.8 2.5.2"/>
</symbol>
<symbol id="i-robot" viewBox="0 0 24 24">
<rect class="ic" x="5" y="8" width="14" height="11" rx="3.5"/>
<path class="ic" d="M12 8V4.5M12 4.5h.01"/><circle class="ic" cx="12" cy="3.8" r="1"/>
<circle cx="9.5" cy="13" r="1.1" fill="currentColor" stroke="none"/>
<circle cx="14.5" cy="13" r="1.1" fill="currentColor" stroke="none"/>
<path class="ic" d="M10 16.2h4M3 12.5v2M21 12.5v2"/>
</symbol>
<symbol id="i-wave" viewBox="0 0 24 24">
<path class="ic" d="M3 12h1.5M6.5 9v6M10 5.5v13M13.5 8v8M17 10.5v3M20.5 12H21"/>
</symbol>
<symbol id="i-scan" viewBox="0 0 24 24">
<path class="ic" d="M4 8V5.5A1.5 1.5 0 0 1 5.5 4H8M16 4h2.5A1.5 1.5 0 0 1 20 5.5V8M20 16v2.5a1.5 1.5 0 0 1-1.5 1.5H16M8 20H5.5A1.5 1.5 0 0 1 4 18.5V16"/>
<path class="ic" d="M4 12h16"/>
</symbol>
<symbol id="i-edit" viewBox="0 0 24 24">
<path class="ic" d="M14.5 5.5 4 16v4h4L18.5 9.5"/>
<path class="ic" d="m13 7 4 4M15.5 4.5l2-2 4 4-2 2"/>
</symbol>
<symbol id="i-trash" viewBox="0 0 24 24">
<path class="ic" d="M5 7h14M9 7V4.5h6V7M7 7l1 13h8l1-13M10.5 10.5v6M13.5 10.5v6"/>
</symbol>
<symbol id="i-drag" viewBox="0 0 24 24">
<path class="ic" d="M5 9h14M5 15h14"/>
</symbol>
<symbol id="i-baby" viewBox="0 0 24 24">
<circle class="ic" cx="12" cy="13" r="7.5"/>
<path class="ic" d="M12 5.5c0-1.5 1-2.5 2.5-2.5"/>
<circle cx="9.5" cy="12.5" r="1" fill="currentColor" stroke="none"/>
<circle cx="14.5" cy="12.5" r="1" fill="currentColor" stroke="none"/>
<path class="ic" d="M10.5 16c.9.7 2.1.7 3 0"/>
</symbol>
<symbol id="i-briefcase" viewBox="0 0 24 24">
<rect class="ic" x="4" y="8" width="16" height="11" rx="2"/>
<path class="ic" d="M9 8V6a1.5 1.5 0 0 1 1.5-1.5h3A1.5 1.5 0 0 1 15 6v2M4 13h16"/>
</symbol>
<!-- v0.5 新增 -->
<symbol id="i-card" viewBox="0 0 24 24">
<rect class="ic" x="3.5" y="6" width="17" height="12.5" rx="2.5"/>
<path class="ic" d="M3.5 10h17M7 15h4"/>
</symbol>
<symbol id="i-offline" viewBox="0 0 24 24">
<path class="ic" d="M2.5 8.5C5 6 8.4 4.7 12 4.7c3.6 0 7 1.3 9.5 3.8M5.5 12c1.8-1.7 4-2.6 6.5-2.6 1 0 2 .15 2.9.45M8.6 15.4A5.3 5.3 0 0 1 12 14.2c.6 0 1.2.1 1.7.3"/>
<circle cx="12" cy="18.5" r="1.2" fill="currentColor" stroke="none"/>
<path class="ic" d="M4 20 20 4"/>
</symbol>
</defs>
</svg>
<h1 class="page-title">AI 记账 APP · 高保真 UI 稿 <span style="color:#9AA3AD;font-weight:400;font-size:15px;">v0.5 清新简约</span></h1>
<p class="page-sub">主色 薄荷绿 #00B386 · AI 专属色 靛蓝 #5B6BF5 · 全套 SVG 线性图标 · Flutter + .NET</p>
<!-- ================= 普通模式 ================= -->
<div class="section-label"><span class="tag">模式一</span>普通记账模式</div>
<div class="row">
<!-- P1 首页 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span class="sb-ics"><svg width="15" height="15"><use href="#i-chart"/></svg></span></div>
<div class="screen">
<div class="content">
<div class="home-header">
<div class="home-top">
<div class="book">日常账本 <svg width="14" height="14"><use href="#i-chev-d"/></svg></div>
<div class="rt">
<svg width="19" height="19"><use href="#i-search"/></svg>
<svg width="19" height="19"><use href="#i-bell"/></svg>
</div>
</div>
<div class="hero">
<div class="lb">7月结余 <svg width="13" height="13" style="opacity:.8;"><use href="#i-eye"/></svg></div>
<div class="num">¥ 4,286.50</div>
<div class="io">
<div>收入<b>¥ 12,800.00</b></div>
<div>支出<b>¥ 8,513.50</b></div>
<div>预算剩余<b>¥ 1,900.00</b></div>
</div>
<div class="bdg">
<span>本月预算</span>
<div class="bar"><i></i></div>
<b>62%</b>
</div>
</div>
</div>
<div class="ai-entry">
<div class="ai-face" style="width:40px;height:40px;"><svg width="24" height="24"><use href="#i-cat"/></svg></div>
<div class="txt">
<div class="t1">小账喵 <span class="dot"></span></div>
<div class="t2">"今天的奶茶已入账,这周第 3 杯了,克制一点喵"</div>
</div>
<div class="go">去聊天</div>
</div>
<div class="sec-head"><span class="h">最近账单</span><span class="more">全部 </span></div>
<div class="day-group">
<div class="day-head"><span>今天 · 7月17日</span><span>支出 ¥86.50</span></div>
<div class="titem">
<div class="cat-ic" style="background:#FFF3EC;color:#F0642D;"><svg width="19" height="19"><use href="#i-cup"/></svg></div>
<div class="mid"><div class="n">一点点奶茶</div><div class="d">14:32 <span class="ai-badge"><svg width="8" height="8"><use href="#i-sparkle"/></svg>AI</span></div></div>
<div class="amt">-18.00</div>
</div>
<div class="titem">
<div class="cat-ic" style="background:#FFF8E8;color:#D89614;"><svg width="19" height="19"><use href="#i-food"/></svg></div>
<div class="mid"><div class="n">午餐 · 兰州拉面</div><div class="d">12:05 <span class="ai-badge"><svg width="8" height="8"><use href="#i-sparkle"/></svg>AI</span></div></div>
<div class="amt">-26.00</div>
</div>
<div class="titem">
<div class="cat-ic" style="background:#EAF3FF;color:#3E82E0;"><svg width="19" height="19"><use href="#i-metro"/></svg></div>
<div class="mid"><div class="n">地铁通勤</div><div class="d">08:47</div></div>
<div class="amt">-42.50</div>
</div>
</div>
<div style="height:10px;"></div>
<div class="day-group">
<div class="day-head"><span>昨天 · 7月16日</span><span>收 ¥500.00 · 支 ¥128.00</span></div>
<div class="titem">
<div class="cat-ic" style="background:var(--primary-bg);color:var(--primary);"><svg width="19" height="19"><use href="#i-money"/></svg></div>
<div class="mid"><div class="n">兼职收入</div><div class="d">20:14</div></div>
<div class="amt in">+500.00</div>
</div>
<div class="titem">
<div class="cat-ic" style="background:#FDEFF4;color:#E05585;"><svg width="19" height="19"><use href="#i-cart"/></svg></div>
<div class="mid"><div class="n">超市采购</div><div class="d">19:02</div></div>
<div class="amt">-128.00</div>
</div>
</div>
</div>
<div class="tabbar">
<div class="tab active"><svg width="21" height="21"><use href="#i-home"/></svg>明细</div>
<div class="tab"><svg width="21" height="21"><use href="#i-chart"/></svg>统计</div>
<div class="tab-fab"><svg width="22" height="22"><use href="#i-plus"/></svg></div>
<div class="tab"><svg width="21" height="21"><use href="#i-chat"/></svg>小账喵</div>
<div class="tab"><svg width="21" height="21"><use href="#i-user"/></svg>我的</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P1 · 首页(账单明细)</div>
</div>
<!-- P2 手动记账 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar"><span class="back"><svg width="20" height="20"><use href="#i-close"/></svg></span>记一笔<span class="action">保存并再记</span></div>
<div class="seg"><span class="on">支出</span><span>收入</span><span>转账</span></div>
<div class="content">
<div class="cat-grid">
<div class="cat on"><div class="ci"><svg width="21" height="21"><use href="#i-food"/></svg></div>餐饮</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-cup"/></svg></div>饮品</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-cart"/></svg></div>购物</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-metro"/></svg></div>交通</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-house"/></svg></div>住房</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-game"/></svg></div>娱乐</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-pill"/></svg></div>医疗</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-book"/></svg></div>学习</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-shirt"/></svg></div>服饰</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-gift"/></svg></div>人情</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-plane"/></svg></div>旅行</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-gear"/></svg></div>设置</div>
</div>
</div>
<div class="amount-panel">
<div class="amount-line">
<div class="cat-mini"><div class="cat-ic" style="width:32px;height:32px;background:#FFF8E8;color:#D89614;"><svg width="17" height="17"><use href="#i-food"/></svg></div>餐饮</div>
<div class="num">26.00<i></i></div>
</div>
<div class="memo-line">
<span class="memo-chip on">午餐拉面</span>
<span class="memo-chip">今天 12:05</span>
<span class="memo-chip">微信支付</span>
</div>
<div class="keypad">
<div class="key">1</div><div class="key">2</div><div class="key">3</div><div class="key fn"></div>
<div class="key">4</div><div class="key">5</div><div class="key">6</div><div class="key fn"></div>
<div class="key">7</div><div class="key">8</div><div class="key">9</div><div class="key ok">完成</div>
<div class="key fn">再记</div><div class="key">0</div><div class="key">.</div>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P2 · 手动记账</div>
</div>
<!-- P3 统计 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar">统计</div>
<div class="stat-tabs"><span></span><span class="on"></span><span></span><span>自定义</span></div>
<div class="content">
<div class="month-pick">
<svg width="15" height="15" style="color:var(--text3);"><use href="#i-chev-l"/></svg>
<b>2026年7月</b>
<svg width="15" height="15" style="color:var(--text3);"><use href="#i-chev-r"/></svg>
</div>
<div class="card">
<div class="donut-wrap">
<div class="donut"><div class="c"><span class="t">总支出</span><span class="v">¥8,513</span></div></div>
<div class="legend">
<div class="li"><span class="sw" style="background:#00B386;"></span>餐饮<span class="pct">34%</span></div>
<div class="li"><span class="sw" style="background:#5B6BF5;"></span>购物<span class="pct">21%</span></div>
<div class="li"><span class="sw" style="background:#F5A623;"></span>住房<span class="pct">16%</span></div>
<div class="li"><span class="sw" style="background:#4DA6FF;"></span>交通<span class="pct">13%</span></div>
<div class="li"><span class="sw" style="background:#F0642D;"></span>娱乐<span class="pct">9%</span></div>
<div class="li"><span class="sw" style="background:#E3E6EA;"></span>其他<span class="pct">7%</span></div>
</div>
</div>
</div>
<div style="height:10px;"></div>
<div class="card">
<div style="font-size:12.5px;font-weight:700;">每日支出趋势</div>
<div class="bars">
<div class="bar"><i style="height:32px;"></i>11</div>
<div class="bar"><i style="height:50px;"></i>12</div>
<div class="bar"><i style="height:24px;"></i>13</div>
<div class="bar"><i style="height:62px;"></i>14</div>
<div class="bar"><i style="height:38px;"></i>15</div>
<div class="bar"><i style="height:74px;"></i>16</div>
<div class="bar hl"><i style="height:46px;"></i>17</div>
</div>
</div>
<div style="height:10px;"></div>
<div class="card" style="padding:8px 14px;">
<div class="rank-item">
<div class="cat-ic" style="background:#FFF8E8;color:#D89614;"><svg width="18" height="18"><use href="#i-food"/></svg></div>
<div class="info"><div class="n">餐饮 <b>¥2,894.50</b></div><div class="prog"><i style="width:84%;background:#00B386;"></i></div></div>
</div>
<div class="rank-item">
<div class="cat-ic" style="background:#FDEFF4;color:#E05585;"><svg width="18" height="18"><use href="#i-cart"/></svg></div>
<div class="info"><div class="n">购物 <b>¥1,788.00</b></div><div class="prog"><i style="width:52%;background:#5B6BF5;"></i></div></div>
</div>
</div>
<div class="ai-insight">
<div class="h"><svg width="15" height="15"><use href="#i-sparkle"/></svg>小账喵的分析</div>
本月餐饮支出比上月<b style="color:var(--red);">高 23%</b>,主要是奶茶(12 杯 ¥216)。按当前节奏预算将在 <b>7月28日</b> 用完,建议每日控制在 ¥130 以内。
</div>
</div>
<div class="tabbar">
<div class="tab"><svg width="21" height="21"><use href="#i-home"/></svg>明细</div>
<div class="tab active"><svg width="21" height="21"><use href="#i-chart"/></svg>统计</div>
<div class="tab-fab"><svg width="22" height="22"><use href="#i-plus"/></svg></div>
<div class="tab"><svg width="21" height="21"><use href="#i-chat"/></svg>小账喵</div>
<div class="tab"><svg width="21" height="21"><use href="#i-user"/></svg>我的</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P3 · 统计 + AI 分析</div>
</div>
</div>
<!-- ================= AI 能力 ================= -->
<div class="section-label"><span class="tag ai">AI 助手</span>聊天记账 · 表情包互动 · 性格设置</div>
<div class="row">
<!-- P4 AI聊天 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="chat-nav">
<svg width="20" height="20"><use href="#i-chev-l"/></svg>
<div class="who">
<div class="ai-face solid" style="width:36px;height:36px;"><svg width="22" height="22"><use href="#i-cat"/></svg></div>
<div class="meta">
<div class="n">小账喵 <span class="persona-chip">毒舌猫娘</span></div>
<div class="s">在线 · 已陪你记账 128 天</div>
</div>
</div>
<svg width="19" height="19" style="color:var(--text2);"><use href="#i-gear"/></svg>
</div>
<div class="chat-body">
<div class="time-tag">今天 14:31</div>
<div class="msg me">
<div class="av"><svg width="18" height="18"><use href="#i-user"/></svg></div>
<div class="bubble">刚买了杯一点点,18块</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble">记好了!不过这是你这周第 <b>3</b> 杯奶茶了……钱包在哭泣哦</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bill-card">
<div class="bc-head"><svg width="12" height="12"><use href="#i-sparkle"/></svg>AI 已自动记账</div>
<div class="bc-body">
<div class="cat-ic" style="background:#FFF3EC;color:#F0642D;"><svg width="18" height="18"><use href="#i-cup"/></svg></div>
<div>
<div class="bc-amt">-¥18.00</div>
<div class="bc-cat">饮品 · 一点点奶茶 · 微信支付</div>
</div>
</div>
<div class="bc-foot"><span>修改</span><span>确认无误</span></div>
</div>
</div>
<div class="msg me">
<div class="av"><svg width="18" height="18"><use href="#i-user"/></svg></div>
<div class="sticker-card">
<svg width="52" height="52" style="color:#F5A623;"><use href="#i-pleading"/></svg>
<span class="t">求原谅…</span>
</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="sticker-card">
<svg width="52" height="52" style="color:var(--ai);"><use href="#i-cat-angry"/></svg>
<span class="t">卖萌也没用!</span>
</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble">哼,看在你都记账的份上原谅你~<br>本周饮品预算还剩 <b>¥22</b>,省着点</div>
</div>
</div>
<div class="quick-row">
<span class="quick"><svg width="13" height="13"><use href="#i-camera"/></svg>拍小票</span>
<span class="quick"><svg width="13" height="13"><use href="#i-mic"/></svg>语音记账</span>
<span class="quick"><svg width="13" height="13"><use href="#i-chart"/></svg>本月花了多少</span>
</div>
<div class="chat-input">
<svg width="21" height="21"><use href="#i-mic"/></svg>
<div class="field">和小账喵说点什么…</div>
<svg width="21" height="21"><use href="#i-smile"/></svg>
<svg width="21" height="21"><use href="#i-plus"/></svg>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P4 · AI 聊天记账(表情包互动)</div>
</div>
<!-- P5 性格设置 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar"><span class="back"><svg width="20" height="20"><use href="#i-chev-l"/></svg></span>AI 性格设置</div>
<div class="content">
<div class="persona-hero">
<div class="ai-face solid" style="width:76px;height:76px;margin:0 auto;box-shadow:0 10px 22px rgba(91,107,245,.3);"><svg width="44" height="44"><use href="#i-cat"/></svg></div>
<div class="n">小账喵</div>
<div class="d">点击更换头像和昵称</div>
</div>
<div class="p-grid">
<div class="p-card on">
<div class="check"><svg width="10" height="10" style="color:#fff;"><use href="#i-check"/></svg></div>
<svg width="26" height="26" style="color:var(--ai);"><use href="#i-cat-angry"/></svg>
<div class="n">毒舌猫娘</div>
<div class="d">嘴上嫌弃,心里关心,乱花钱会被吐槽</div>
<div class="sample">"又点外卖?你的钱包已经瘦成纸片了喵!"</div>
</div>
<div class="p-card">
<svg width="26" height="26" style="color:#E05585;"><use href="#i-cat-happy"/></svg>
<div class="n">温柔小暖</div>
<div class="d">永远鼓励你,温柔提醒不施压</div>
<div class="sample">"记好啦,偶尔犒劳自己也是应该的呀"</div>
</div>
<div class="p-card">
<svg width="26" height="26" style="color:#3E82E0;"><use href="#i-target"/></svg>
<div class="n">严格管家</div>
<div class="d">专业理性,盯紧预算,数据说话</div>
<div class="sample">"本笔支出使餐饮预算达到 87%,请注意。"</div>
</div>
<div class="p-card">
<svg width="26" height="26" style="color:#F5A623;"><use href="#i-smile"/></svg>
<div class="n">沙雕损友</div>
<div class="d">玩梗高手,表情包狂魔,快乐记账</div>
<div class="sample">"家人们谁懂啊,他又双叒叕买奶茶了"</div>
</div>
</div>
<div style="height:12px;"></div>
<div class="card slider-block">
<div class="lb"><span>吐槽力度</span><b>较犀利</b></div>
<div class="track"><i style="width:72%;"></i><span class="knob" style="left:72%;"></span></div>
<div style="height:18px;"></div>
<div class="lb"><span>表情包频率</span><b>经常发</b></div>
<div class="track"><i style="width:85%;"></i><span class="knob" style="left:85%;"></span></div>
<div style="height:18px;"></div>
<div class="lb"><span>主动提醒(预算 / 账单)</span><b>每天一次</b></div>
<div class="track"><i style="width:45%;"></i><span class="knob" style="left:45%;"></span></div>
</div>
<div class="save-btn">保存设置</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P5 · AI 性格设置</div>
</div>
<!-- P6 我的 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="content">
<div class="me-head">
<div class="av"><svg width="28" height="28"><use href="#i-user"/></svg></div>
<div>
<div class="n">南巡 <span class="vip">PRO</span></div>
<div class="d">已连续记账 128 天 · 超过 92% 的用户</div>
</div>
</div>
<div class="mode-card">
<div class="h">App 模式</div>
<div class="d">选择你喜欢的使用方式,可随时切换</div>
<div class="mode-opts">
<div class="mode-opt on">
<div class="radio"></div>
<svg width="22" height="22" style="color:var(--primary);"><use href="#i-wallet"/></svg>
<div class="n">普通记账模式</div>
<div class="d">经典账本界面<br>手动记账 + AI 辅助</div>
</div>
<div class="mode-opt">
<div class="radio"></div>
<svg width="22" height="22" style="color:var(--ai);"><use href="#i-sparkle"/></svg>
<div class="n">全 AI 模式</div>
<div class="d">聊天即记账<br>对话作为主界面</div>
</div>
</div>
</div>
<div class="list-group">
<div class="li-row"><div class="lic" style="background:var(--ai-bg);color:var(--ai);"><svg width="16" height="16"><use href="#i-cat"/></svg></div>AI 性格设置<span class="val">毒舌猫娘 <svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
<div class="li-row"><div class="lic" style="background:var(--primary-bg);color:var(--primary);"><svg width="16" height="16"><use href="#i-target"/></svg></div>预算管理<span class="val">¥5,000/月 <svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
<div class="li-row"><div class="lic" style="background:#EAF3FF;color:#3E82E0;"><svg width="16" height="16"><use href="#i-book"/></svg></div>账本管理<span class="val">3 个账本 <svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
<div class="li-row"><div class="lic" style="background:#FFF8E8;color:#D89614;"><svg width="16" height="16"><use href="#i-tag"/></svg></div>分类管理<span class="val"><svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
</div>
<div class="list-group">
<div class="li-row"><div class="lic" style="background:#FDEFF4;color:#E05585;"><svg width="16" height="16"><use href="#i-export"/></svg></div>数据导出<span class="val"><svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
<div class="li-row"><div class="lic" style="background:#EAF3FF;color:#3E82E0;"><svg width="16" height="16"><use href="#i-cloud"/></svg></div>云同步<span class="val">已开启 <svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
<div class="li-row"><div class="lic" style="background:#F2F3F5;color:var(--text2);"><svg width="16" height="16"><use href="#i-gear"/></svg></div>通用设置<span class="val"><svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
</div>
</div>
<div class="tabbar">
<div class="tab"><svg width="21" height="21"><use href="#i-home"/></svg>明细</div>
<div class="tab"><svg width="21" height="21"><use href="#i-chart"/></svg>统计</div>
<div class="tab-fab"><svg width="22" height="22"><use href="#i-plus"/></svg></div>
<div class="tab"><svg width="21" height="21"><use href="#i-chat"/></svg>小账喵</div>
<div class="tab active"><svg width="21" height="21"><use href="#i-user"/></svg>我的</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P6 · 我的(模式切换)</div>
</div>
</div>
<!-- ================= 全AI模式 ================= -->
<div class="section-label"><span class="tag ai">模式二</span>全 AI 模式 — 对话即 App</div>
<div class="row">
<div class="frame-wrap">
<div class="phone aimode">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="aimode-head">
<div class="top">
<div class="ai-face solid" style="width:44px;height:44px;box-shadow:0 6px 14px rgba(91,107,245,.35);"><svg width="26" height="26"><use href="#i-cat"/></svg></div>
<div class="meta">
<div class="n">小账喵 <span class="persona-chip">毒舌猫娘</span></div>
<div class="s">全 AI 模式 · 说句话就能记账</div>
</div>
<div class="sw"><svg width="12" height="12"><use href="#i-swap"/></svg>切换模式</div>
</div>
<div class="mini-dash">
<div class="mini-card"><div class="t">今日支出</div><div class="v r">¥86.50</div></div>
<div class="mini-card"><div class="t">本月结余</div><div class="v g">¥4,286</div></div>
<div class="mini-card"><div class="t">预算剩余</div><div class="v">62%</div></div>
</div>
</div>
<div class="chat-body">
<div class="time-tag">今天 19:02</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble">晚上好~今天已经花了 ¥86.5,晚饭想吃什么?先跟我报备</div>
</div>
<div class="msg me">
<div class="av"><svg width="18" height="18"><use href="#i-user"/></svg></div>
<div class="bubble">晚饭和同事吃了火锅AA,人均88,微信付的</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bill-card">
<div class="bc-head"><svg width="12" height="12"><use href="#i-sparkle"/></svg>AI 已自动记账</div>
<div class="bc-body">
<div class="cat-ic" style="background:#FFF3EC;color:#F0642D;"><svg width="18" height="18"><use href="#i-food"/></svg></div>
<div>
<div class="bc-amt">-¥88.00</div>
<div class="bc-cat">餐饮 · 火锅聚餐 (AA) · 微信支付</div>
</div>
</div>
<div class="bc-prog">今日餐饮 ¥114 / 预算 ¥130<div class="prog"><i style="width:87%;background:linear-gradient(90deg,#F5A623,#F0642D);"></i></div></div>
</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="sticker-card">
<svg width="48" height="48" style="color:var(--red);"><use href="#i-fire"/></svg>
<span class="t">今日预算亮红灯!</span>
</div>
</div>
<div class="msg me">
<div class="av"><svg width="18" height="18"><use href="#i-user"/></svg></div>
<div class="bubble">知道啦,这个月我花最多的是什么?</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble"><b>餐饮 ¥2,894</b>(占 34%)!其中奶茶就有 ¥216……<br>要不要我生成本月报告?</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble"><div class="typing"><i></i><i></i><i></i></div></div>
</div>
</div>
<div class="quick-row">
<span class="quick"><svg width="13" height="13"><use href="#i-chart"/></svg>生成月报</span>
<span class="quick"><svg width="13" height="13"><use href="#i-camera"/></svg>拍小票</span>
<span class="quick"><svg width="13" height="13"><use href="#i-receipt"/></svg>查明细</span>
<span class="quick"><svg width="13" height="13"><use href="#i-target"/></svg>调预算</span>
</div>
<div class="chat-input">
<svg width="21" height="21"><use href="#i-mic"/></svg>
<div class="field">说句话,记一笔…</div>
<svg width="21" height="21"><use href="#i-smile"/></svg>
<svg width="21" height="21"><use href="#i-plus"/></svg>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P7 · 全 AI 模式主界面(浅色渐变玻璃)</div>
</div>
</div>
<style>
/* ============ v0.3 新增:启动与引导 ============ */
.onb{flex:1;display:flex;flex-direction:column;padding:0 26px;}
.splash-bg{background:linear-gradient(170deg,#E6F7F1 0%,#F6F7F9 45%,#EEF0FE 100%);}
.splash-logo{width:92px;height:92px;border-radius:28px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 14px 30px rgba(0,179,134,.3);margin:0 auto;}
.app-name{font-size:26px;font-weight:800;text-align:center;margin-top:18px;letter-spacing:1px;}
.app-slogan{font-size:13px;color:var(--text2);text-align:center;margin-top:8px;}
.btn{border-radius:14px;padding:14px;text-align:center;font-size:15px;font-weight:600;}
.btn.primary{background:var(--primary);color:#fff;box-shadow:0 6px 16px rgba(0,179,134,.25);}
.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--text);}
.btn.ai{background:var(--ai);color:#fff;box-shadow:0 6px 16px rgba(91,107,245,.28);}
.agree{font-size:10.5px;color:var(--text3);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px;}
.agree i{width:13px;height:13px;border-radius:50%;border:1px solid #C9CEDA;display:inline-block;flex:none;}
.agree b{color:var(--primary);font-weight:500;}
.onb-title{font-size:21px;font-weight:800;margin-top:10px;}
.onb-sub{font-size:12.5px;color:var(--text2);margin-top:6px;line-height:1.6;}
.step-dots{display:flex;gap:6px;padding:16px 0 4px;}
.step-dots i{width:18px;height:5px;border-radius:3px;background:#E3E6EA;}
.step-dots i.on{background:var(--primary);width:28px;}
.mode-big{background:#fff;border:2px solid var(--line);border-radius:18px;padding:16px;position:relative;}
.mode-big.on{border-color:var(--primary);}
.mode-big.on .pick{background:var(--primary);border-color:var(--primary);}
.mode-big .pick{position:absolute;top:14px;right:14px;width:20px;height:20px;border-radius:50%;border:1.5px solid #C9CEDA;display:flex;align-items:center;justify-content:center;color:#fff;}
.mode-big .mt{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px;}
.mode-big .md{font-size:11px;color:var(--text2);margin-top:4px;line-height:1.6;}
.mini-prev{margin-top:12px;border-radius:12px;padding:10px;display:flex;gap:8px;background:var(--bg);}
.mini-prev .blk{border-radius:7px;background:#fff;border:.5px solid var(--line);}
.mini-prev.chatty{flex-direction:column;background:linear-gradient(135deg,#EEF0FE,#E6F7F1);}
.mini-prev .lbub{align-self:flex-start;background:#fff;border-radius:2px 9px 9px 9px;padding:5px 9px;font-size:9px;color:var(--text2);}
.mini-prev .rbub{align-self:flex-end;background:var(--ai);color:#fff;border-radius:9px 2px 9px 9px;padding:5px 9px;font-size:9px;}
.name-field{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;display:flex;align-items:center;gap:10px;font-size:14px;}
.name-field .ph{color:var(--text3);}
.name-field b{margin-left:auto;font-size:11px;color:var(--ai);font-weight:600;}
/* ============ v0.3 新增:账单详情 ============ */
.dt-hero{text-align:center;padding:22px 0 18px;}
.dt-amt{font-size:36px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:12px;}
.dt-state{font-size:11px;color:var(--text3);margin-top:6px;}
.dt-row{display:flex;align-items:center;justify-content:space-between;padding:13.5px 0;font-size:13px;}
.dt-row + .dt-row{border-top:.5px solid var(--line);}
.dt-row .k{color:var(--text3);}
.dt-row .v{font-weight:500;display:flex;align-items:center;gap:6px;max-width:220px;text-align:right;}
.src-quote{background:var(--ai-bg);border-radius:10px;padding:10px 12px;font-size:11.5px;color:#4A5160;line-height:1.6;margin-top:8px;}
.src-quote b{color:var(--ai);}
.dt-actions{display:flex;gap:12px;padding:14px 0;}
.dt-actions .btn{flex:1;padding:12px;}
.btn.danger{background:#fff;border:1px solid #F6C9B4;color:var(--red);}
/* ============ v0.3 新增:预算管理 ============ */
.bud-hero{display:flex;align-items:center;gap:18px;}
.bud-ring{width:110px;height:110px;border-radius:50%;flex:none;position:relative;background:conic-gradient(var(--primary) 0 62%,#EBEDF0 62% 100%);}
.bud-ring::after{content:"";position:absolute;inset:16px;background:#fff;border-radius:50%;}
.bud-ring .c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;}
.bud-ring .c .t{font-size:9.5px;color:var(--text3);}
.bud-ring .c .v{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;}
.bud-kv{flex:1;display:flex;flex-direction:column;gap:9px;font-size:12px;color:var(--text2);}
.bud-kv .l{display:flex;justify-content:space-between;}
.bud-kv b{font-variant-numeric:tabular-nums;color:var(--text);}
.bud-item{display:flex;align-items:center;gap:12px;padding:11px 2px;}
.bud-item + .bud-item{border-top:.5px solid var(--line);}
.bud-item .info{flex:1;}
.bud-item .n{font-size:12.5px;font-weight:600;display:flex;justify-content:space-between;}
.bud-item .n span{color:var(--text3);font-weight:400;font-variant-numeric:tabular-nums;}
.bud-item .n span b{color:var(--text);font-weight:600;}
.add-bud{border:1.5px dashed #C9CEDA;border-radius:13px;padding:12px;text-align:center;font-size:12.5px;color:var(--text2);margin-top:12px;display:flex;align-items:center;justify-content:center;gap:6px;}
/* ============ v0.3 新增:AI 月报 ============ */
.rep-hero{background:linear-gradient(150deg,var(--ai) 0%,#8A5BF5 100%);border-radius:18px;padding:20px;color:#fff;position:relative;overflow:hidden;}
.rep-hero::after{content:"";position:absolute;right:-24px;top:-30px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.1);}
.rep-hero .t{font-size:11px;opacity:.85;display:flex;align-items:center;gap:6px;}
.rep-hero .h{font-size:21px;font-weight:800;margin:8px 0 2px;}
.rep-hero .d{font-size:11px;opacity:.85;}
.rep-nums{display:flex;margin-top:16px;position:relative;z-index:1;}
.rep-nums > div{flex:1;}
.rep-nums .k{font-size:10px;opacity:.8;}
.rep-nums .v{font-size:16px;font-weight:700;margin-top:3px;font-variant-numeric:tabular-nums;}
.hl-item{display:flex;gap:11px;padding:11px 2px;align-items:flex-start;}
.hl-item + .hl-item{border-top:.5px solid var(--line);}
.hl-item .hic{width:30px;height:30px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;}
.hl-item .ht{font-size:12.5px;font-weight:600;}
.hl-item .hd{font-size:11px;color:var(--text2);margin-top:3px;line-height:1.55;}
.roast{background:var(--ai-bg);border-radius:14px;padding:14px;margin-top:12px;}
.roast .rh{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--ai);}
.roast .rt{font-size:12.5px;color:#3E4556;line-height:1.75;margin-top:8px;}
/* ============ v0.3 新增:表情包面板 ============ */
.stk-panel{flex:none;background:#fff;border-top:.5px solid var(--line);padding:10px 14px 6px;}
.stk-tabs{display:flex;gap:14px;font-size:11px;color:var(--text3);padding-bottom:8px;}
.stk-tabs .on{color:var(--ai);font-weight:700;}
.stk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.stk{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:9px;color:var(--text2);}
.stk .box{width:62px;height:62px;border-radius:12px;background:var(--bg);display:flex;align-items:center;justify-content:center;}
.stk.on .box{background:var(--ai-bg);box-shadow:inset 0 0 0 1.5px var(--ai);}
</style>
<!-- ================= 首次启动流程 ================= -->
<div class="section-label"><span class="tag">新增</span>首次启动流程 — 登录 · 选模式 · 选性格</div>
<div class="row">
<!-- P8 登录 -->
<div class="frame-wrap">
<div class="phone splash-bg">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="onb" style="justify-content:center;gap:0;">
<div class="splash-logo"><svg width="54" height="54"><use href="#i-cat"/></svg></div>
<div class="app-name">喵记账</div>
<div class="app-slogan">会聊天的记账本 · 让 AI 帮你管钱</div>
<div style="height:64px;"></div>
<div class="btn primary">微信一键登录</div>
<div style="height:12px;"></div>
<div class="btn ghost">手机号登录</div>
<div style="height:18px;"></div>
<div style="text-align:center;font-size:12px;color:var(--text3);">先逛逛,游客模式 </div>
<div style="height:26px;"></div>
<div class="agree"><i></i>已阅读并同意 <b>《用户协议》</b><b>《隐私政策》</b></div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P8 · 启动 / 登录</div>
</div>
<!-- P9 选模式 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="onb" style="padding-top:8px;">
<div class="step-dots"><i class="on"></i><i></i></div>
<div class="onb-title">你想怎么用它?</div>
<div class="onb-sub">两种完全不同的体验,以后随时可以在「我的」里切换</div>
<div style="height:18px;"></div>
<div class="mode-big on">
<div class="pick"><svg width="12" height="12"><use href="#i-check"/></svg></div>
<div class="mt"><svg width="20" height="20" style="color:var(--primary);"><use href="#i-wallet"/></svg>普通记账模式</div>
<div class="md">经典账本界面,手动记账、报表统计一应俱全,AI 助手随叫随到</div>
<div class="mini-prev">
<div class="blk" style="flex:1.4;height:70px;background:linear-gradient(135deg,var(--primary),#00C99A);border:none;"></div>
<div style="flex:1;display:flex;flex-direction:column;gap:6px;">
<div class="blk" style="height:20px;"></div>
<div class="blk" style="height:20px;"></div>
<div class="blk" style="height:20px;"></div>
</div>
</div>
</div>
<div style="height:12px;"></div>
<div class="mode-big">
<div class="pick"></div>
<div class="mt"><svg width="20" height="20" style="color:var(--ai);"><use href="#i-sparkle"/></svg>全 AI 模式</div>
<div class="md">没有复杂界面,打开就是和 AI 聊天,说句话就完成记账、查账、看报告</div>
<div class="mini-prev chatty">
<div class="lbub">今天花了多少呀?</div>
<div class="rbub">午饭 26,奶茶 18</div>
<div class="lbub">记好啦,共 ¥44 ✓</div>
</div>
</div>
<div style="flex:1;"></div>
<div class="btn primary">继续</div>
<div style="height:16px;"></div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P9 · 引导 · 选择模式</div>
</div>
<!-- P10 选性格 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="onb" style="padding-top:8px;">
<div class="step-dots"><i></i><i class="on"></i></div>
<div class="onb-title">认识你的 AI 伙伴</div>
<div class="onb-sub">选形象、起名字、挑性格 —— 之后它就是你的专属记账搭子</div>
<div style="height:16px;"></div>
<div style="display:flex;justify-content:center;gap:14px;align-items:flex-end;">
<div style="display:flex;flex-direction:column;align-items:center;gap:5px;">
<div class="ai-face" style="width:50px;height:50px;color:var(--text3);"><svg width="28" height="28"><use href="#i-dog"/></svg></div>
<span style="font-size:10px;color:var(--text3);">阿福汪</span>
</div>
<div style="display:flex;flex-direction:column;align-items:center;gap:5px;">
<div class="ai-face solid" style="width:68px;height:68px;box-shadow:0 10px 22px rgba(91,107,245,.3);position:relative;"><svg width="40" height="40"><use href="#i-cat"/></svg>
<span style="position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:var(--primary);border:2px solid #fff;display:flex;align-items:center;justify-content:center;"><svg width="10" height="10" style="color:#fff;"><use href="#i-check"/></svg></span>
</div>
<span style="font-size:10px;color:var(--ai);font-weight:600;">小账喵</span>
</div>
<div style="display:flex;flex-direction:column;align-items:center;gap:5px;">
<div class="ai-face" style="width:50px;height:50px;color:var(--text3);"><svg width="28" height="28"><use href="#i-robot"/></svg></div>
<span style="font-size:10px;color:var(--text3);">账小智</span>
</div>
</div>
<div style="height:14px;"></div>
<div class="name-field"><svg width="16" height="16" style="color:var(--text3);"><use href="#i-tag"/></svg>小账喵<b>换一个</b></div>
<div class="p-grid">
<div class="p-card on">
<div class="check"><svg width="10" height="10" style="color:#fff;"><use href="#i-check"/></svg></div>
<svg width="24" height="24" style="color:var(--ai);"><use href="#i-cat-angry"/></svg>
<div class="n">毒舌猫娘</div>
<div class="d">乱花钱会被无情吐槽</div>
</div>
<div class="p-card">
<svg width="24" height="24" style="color:#E05585;"><use href="#i-cat-happy"/></svg>
<div class="n">温柔小暖</div>
<div class="d">永远鼓励,温柔提醒</div>
</div>
<div class="p-card">
<svg width="24" height="24" style="color:#3E82E0;"><use href="#i-target"/></svg>
<div class="n">严格管家</div>
<div class="d">理性专业,数据说话</div>
</div>
<div class="p-card">
<svg width="24" height="24" style="color:#F5A623;"><use href="#i-smile"/></svg>
<div class="n">沙雕损友</div>
<div class="d">玩梗高手,快乐记账</div>
</div>
</div>
<div style="flex:1;"></div>
<div class="btn ai">开始记账之旅</div>
<div style="height:16px;"></div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P10 · 引导 · 选择 AI 性格</div>
</div>
</div>
<!-- ================= 核心闭环补充 ================= -->
<div class="section-label"><span class="tag">新增</span>核心闭环 — 账单详情 · 预算 · AI 月报 · 表情包面板</div>
<div class="row">
<!-- P11 账单详情 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar"><span class="back"><svg width="20" height="20"><use href="#i-chev-l"/></svg></span>账单详情</div>
<div class="content">
<div class="card" style="margin-top:8px;">
<div class="dt-hero">
<div class="cat-ic" style="width:52px;height:52px;border-radius:16px;background:#FFF3EC;color:#F0642D;margin:0 auto;"><svg width="26" height="26"><use href="#i-cup"/></svg></div>
<div class="dt-amt">-¥18.00</div>
<div class="dt-state">支出 · 已入账</div>
</div>
<div class="dt-row"><span class="k">分类</span><span class="v">饮品</span></div>
<div class="dt-row"><span class="k">时间</span><span class="v">2026年7月17日 14:32</span></div>
<div class="dt-row"><span class="k">账本</span><span class="v">日常账本</span></div>
<div class="dt-row"><span class="k">支付方式</span><span class="v">微信支付</span></div>
<div class="dt-row"><span class="k">备注</span><span class="v">一点点奶茶</span></div>
<div class="dt-row" style="flex-direction:column;align-items:stretch;gap:2px;">
<span class="k" style="display:flex;align-items:center;gap:6px;">来源 <span class="ai-badge"><svg width="8" height="8"><use href="#i-sparkle"/></svg>AI 聊天记账</span></span>
<div class="src-quote">你说:"<b>刚买了杯一点点,18块</b>"<br>小账喵识别:饮品 · ¥18.00 · 微信支付</div>
</div>
</div>
<div class="dt-actions">
<div class="btn ghost">编辑</div>
<div class="btn danger">删除</div>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P11 · 账单详情(含 AI 来源追溯)</div>
</div>
<!-- P12 预算管理 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar"><span class="back"><svg width="20" height="20"><use href="#i-chev-l"/></svg></span>预算管理<span class="action">编辑</span></div>
<div class="content">
<div class="card" style="margin-top:8px;">
<div class="bud-hero">
<div class="bud-ring"><div class="c"><span class="t">总预算剩余</span><span class="v">62%</span></div></div>
<div class="bud-kv">
<div class="l"><span>本月总预算</span><b>¥5,000.00</b></div>
<div class="l"><span>已使用</span><b>¥3,100.00</b></div>
<div class="l"><span>剩余可用</span><b style="color:var(--primary);">¥1,900.00</b></div>
<div class="l"><span>日均可用</span><b>¥135.70</b></div>
</div>
</div>
</div>
<div style="height:10px;"></div>
<div class="card" style="padding:8px 14px;">
<div class="bud-item">
<div class="cat-ic" style="background:#FFF8E8;color:#D89614;"><svg width="18" height="18"><use href="#i-food"/></svg></div>
<div class="info"><div class="n">餐饮<span><b>¥1,395</b> / ¥1,600</span></div><div class="prog"><i style="width:87%;background:linear-gradient(90deg,#F5A623,#F0642D);"></i></div></div>
</div>
<div class="bud-item">
<div class="cat-ic" style="background:#FFF3EC;color:#F0642D;"><svg width="18" height="18"><use href="#i-cup"/></svg></div>
<div class="info"><div class="n">饮品<span><b>¥216</b> / ¥300</span></div><div class="prog"><i style="width:72%;background:#F5A623;"></i></div></div>
</div>
<div class="bud-item">
<div class="cat-ic" style="background:#FDEFF4;color:#E05585;"><svg width="18" height="18"><use href="#i-cart"/></svg></div>
<div class="info"><div class="n">购物<span><b>¥688</b> / ¥1,500</span></div><div class="prog"><i style="width:46%;background:var(--primary);"></i></div></div>
</div>
<div class="bud-item">
<div class="cat-ic" style="background:#EAF3FF;color:#3E82E0;"><svg width="18" height="18"><use href="#i-metro"/></svg></div>
<div class="info"><div class="n">交通<span><b>¥412</b> / ¥600</span></div><div class="prog"><i style="width:69%;background:var(--primary);"></i></div></div>
</div>
</div>
<div class="add-bud"><svg width="14" height="14"><use href="#i-plus"/></svg>添加分类预算</div>
<div class="ai-insight" style="margin-top:10px;">
<div class="h"><svg width="15" height="15"><use href="#i-sparkle"/></svg>让小账喵帮你定预算</div>
根据近 3 个月的消费习惯,AI 可以一键生成更合理的分类预算方案。
<div style="margin-top:8px;"><span style="font-size:11.5px;color:var(--ai);font-weight:600;">生成方案 </span></div>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P12 · 预算管理(AI 一键定预算)</div>
</div>
<!-- P13 AI 月报 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar"><span class="back"><svg width="20" height="20"><use href="#i-chev-l"/></svg></span>7月账单报告<span class="action">分享</span></div>
<div class="content">
<div class="rep-hero" style="margin-top:8px;">
<div class="t"><svg width="13" height="13"><use href="#i-sparkle"/></svg>小账喵 · 月度报告</div>
<div class="h">7月,你一共花了 ¥8,513</div>
<div class="d">比上月多 12% · 全国同龄用户中排勤俭榜前 44%</div>
<div class="rep-nums">
<div><div class="k">收入</div><div class="v">¥12,800</div></div>
<div><div class="k">支出</div><div class="v">¥8,513</div></div>
<div><div class="k">结余</div><div class="v">¥4,286</div></div>
<div><div class="k">笔数</div><div class="v">142</div></div>
</div>
</div>
<div style="height:10px;"></div>
<div class="card" style="padding:8px 14px;">
<div class="hl-item">
<div class="hic" style="background:#FFF3EC;color:#F0642D;"><svg width="16" height="16"><use href="#i-fire"/></svg></div>
<div><div class="ht">最烧钱的一天:7月16日</div><div class="hd">单日支出 ¥486,一半花在了「海底捞聚餐」</div></div>
</div>
<div class="hl-item">
<div class="hic" style="background:#FFF3EC;color:#F0642D;"><svg width="16" height="16"><use href="#i-cup"/></svg></div>
<div><div class="ht">奶茶自由指数:偏高</div><div class="hd">12 杯 · ¥216,比上月多 4 杯,最爱「一点点」</div></div>
</div>
<div class="hl-item">
<div class="hic" style="background:var(--primary-bg);color:var(--primary);"><svg width="16" height="16"><use href="#i-money"/></svg></div>
<div><div class="ht">进步的地方</div><div class="hd">打车支出比上月省了 ¥180,通勤改坐地铁了,好评</div></div>
</div>
<div class="hl-item">
<div class="hic" style="background:var(--ai-bg);color:var(--ai);"><svg width="16" height="16"><use href="#i-chat"/></svg></div>
<div><div class="ht">AI 记账占比 68%</div><div class="hd">96 笔账是聊天记的,你已经离不开我了吧</div></div>
</div>
</div>
<div class="roast">
<div class="rh"><svg width="15" height="15"><use href="#i-cat-angry"/></svg>毒舌点评</div>
<div class="rt">"收入 1.28 万,奶茶 216——你不是在喝奶茶,你是在给奶茶店打工。下个月饮品预算我给你砍到 ¥150,有意见吗?没有,那就这么定了喵。"</div>
</div>
<div style="height:12px;"></div>
<div class="btn ai">生成分享图</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P13 · AI 月度报告</div>
</div>
<!-- P14 表情包面板 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="chat-nav">
<svg width="20" height="20"><use href="#i-chev-l"/></svg>
<div class="who">
<div class="ai-face solid" style="width:36px;height:36px;"><svg width="22" height="22"><use href="#i-cat"/></svg></div>
<div class="meta">
<div class="n">小账喵 <span class="persona-chip">毒舌猫娘</span></div>
<div class="s">在线</div>
</div>
</div>
<svg width="19" height="19" style="color:var(--text2);"><use href="#i-gear"/></svg>
</div>
<div class="chat-body">
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble">这个月工资到账了吗?记得跟我说一声</div>
</div>
<div class="msg me">
<div class="av"><svg width="18" height="18"><use href="#i-user"/></svg></div>
<div class="sticker-card">
<svg width="52" height="52" style="color:var(--primary);"><use href="#i-money"/></svg>
<span class="t">发工资啦!</span>
</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble">哦?多少?直接报数,我帮你记收入</div>
</div>
</div>
<div class="chat-input">
<svg width="21" height="21"><use href="#i-mic"/></svg>
<div class="field">和小账喵说点什么…</div>
<svg width="21" height="21" style="color:var(--ai);"><use href="#i-smile"/></svg>
<svg width="21" height="21"><use href="#i-plus"/></svg>
</div>
<div class="stk-panel">
<div class="stk-tabs"><span class="on">小账喵专属</span><span>经典表情</span><span>最近使用</span></div>
<div class="stk-grid">
<div class="stk on"><div class="box"><svg width="36" height="36" style="color:var(--primary);"><use href="#i-money"/></svg></div>发工资啦</div>
<div class="stk"><div class="box"><svg width="36" height="36" style="color:#F5A623;"><use href="#i-pleading"/></svg></div>求原谅</div>
<div class="stk"><div class="box"><svg width="36" height="36" style="color:var(--red);"><use href="#i-fire"/></svg></div>剁手警告</div>
<div class="stk"><div class="box"><svg width="36" height="36" style="color:var(--ai);"><use href="#i-cat-angry"/></svg></div>生气喵</div>
<div class="stk"><div class="box"><svg width="36" height="36" style="color:#E05585;"><use href="#i-cat-happy"/></svg></div>开心喵</div>
<div class="stk"><div class="box"><svg width="36" height="36" style="color:#D89614;"><use href="#i-gift"/></svg></div>犒劳自己</div>
<div class="stk"><div class="box"><svg width="36" height="36" style="color:#3E82E0;"><use href="#i-cart"/></svg></div>购物狂喜</div>
<div class="stk"><div class="box"><svg width="36" height="36" style="color:var(--text3);"><use href="#i-wallet"/></svg></div>钱包空空</div>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P14 · 表情包面板(用户侧发送)</div>
</div>
</div>
<style>
/* ============ v0.4 新增 ============ */
.overlay-dim{position:absolute;inset:0;background:rgba(15,20,30,.45);z-index:10;display:flex;flex-direction:column;justify-content:flex-end;}
.voice-sheet{background:#fff;border-radius:22px 22px 0 0;padding:24px 22px 30px;text-align:center;}
.voice-sheet .vs-t{font-size:14px;font-weight:700;}
.voice-sheet .vs-d{font-size:11.5px;color:var(--text3);margin-top:4px;}
.voice-live{margin:18px auto 0;background:var(--ai-bg);border-radius:14px;padding:14px;font-size:13.5px;color:var(--text);line-height:1.6;text-align:left;}
.voice-live b{color:var(--ai);}
.wave-row{display:flex;align-items:center;justify-content:center;gap:3px;height:40px;margin-top:16px;}
.wave-row i{width:4px;border-radius:2px;background:var(--ai);animation:wv 1s ease-in-out infinite;}
@keyframes wv{0%,100%{transform:scaleY(.4);}50%{transform:scaleY(1);}}
.voice-btn{width:74px;height:74px;border-radius:50%;background:var(--ai);color:#fff;display:flex;align-items:center;justify-content:center;margin:18px auto 0;box-shadow:0 0 0 10px rgba(91,107,245,.12),0 8px 20px rgba(91,107,245,.35);}
.voice-tip{font-size:11px;color:var(--text3);margin-top:12px;}
.ocr-img{background:linear-gradient(160deg,#3A3F4C,#252A36);border-radius:14px;height:150px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.ocr-img .paper{width:110px;height:120px;background:#F8F9FA;border-radius:4px;padding:10px 9px;display:flex;flex-direction:column;gap:5px;}
.ocr-img .paper i{height:4px;border-radius:2px;background:#D7DBE0;display:block;}
.ocr-img .scanline{position:absolute;left:10px;right:10px;height:2px;background:linear-gradient(90deg,transparent,var(--primary),transparent);box-shadow:0 0 12px var(--primary);animation:scan 2s ease-in-out infinite;}
@keyframes scan{0%,100%{top:20px;}50%{top:130px;}}
.ocr-badge{position:absolute;right:10px;top:10px;background:rgba(0,179,134,.9);color:#fff;font-size:10px;padding:3px 9px;border-radius:9px;display:flex;align-items:center;gap:4px;}
.ocr-field{display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:13px;}
.ocr-field + .ocr-field{border-top:.5px solid var(--line);}
.ocr-field .k{color:var(--text3);}
.ocr-field .v{font-weight:600;display:flex;align-items:center;gap:6px;}
.ocr-field .v.hl{color:var(--ai);}
.conf{font-size:9px;background:var(--primary-bg);color:var(--primary-deep);padding:1.5px 6px;border-radius:6px;font-weight:600;}
.conf.low{background:#FFF3EC;color:var(--red);}
.sheet-mask{position:absolute;inset:0;background:rgba(15,20,30,.45);z-index:10;display:flex;flex-direction:column;justify-content:flex-end;}
.book-sheet{background:var(--bg);border-radius:22px 22px 0 0;padding:20px 16px 26px;}
.book-sheet .bs-t{font-size:15px;font-weight:700;text-align:center;margin-bottom:16px;}
.book-card{background:#fff;border-radius:14px;padding:14px;border:1.5px solid var(--line);display:flex;align-items:center;gap:12px;position:relative;}
.book-card + .book-card{margin-top:10px;}
.book-card.on{border-color:var(--primary);}
.book-card .bic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;}
.book-card .bn{font-size:13.5px;font-weight:700;}
.book-card .bd{font-size:10.5px;color:var(--text3);margin-top:3px;}
.book-card .bcheck{margin-left:auto;color:var(--primary);}
.cm-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;font-size:13.5px;}
.cm-row + .cm-row{border-top:.5px solid var(--line);}
.cm-row .drag{color:#D3D8DE;}
.cm-row .del{margin-left:auto;color:var(--red);opacity:.75;}
.cm-hint{font-size:10.5px;color:var(--text3);padding:10px 4px 6px;}
</style>
<!-- ================= v0.4 交互补充 ================= -->
<div class="section-label"><span class="tag">新增</span>输入方式 & 管理页 — 语音 · OCR · 账本 · 分类</div>
<div class="row">
<!-- P15 语音记账 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="chat-nav">
<svg width="20" height="20"><use href="#i-chev-l"/></svg>
<div class="who">
<div class="ai-face solid" style="width:36px;height:36px;"><svg width="22" height="22"><use href="#i-cat"/></svg></div>
<div class="meta">
<div class="n">小账喵 <span class="persona-chip">毒舌猫娘</span></div>
<div class="s">在线</div>
</div>
</div>
</div>
<div class="chat-body" style="filter:blur(1.5px);opacity:.6;">
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble">今天想记点什么?</div>
</div>
</div>
<div class="overlay-dim">
<div class="voice-sheet">
<div class="vs-t">正在聆听…</div>
<div class="vs-d">直接说,比如"打车去机场花了 45"</div>
<div class="voice-live">"昨天晚上和朋友吃烧烤,<b>人均六十八</b>,我用<b>支付宝</b>付的…"</div>
<div class="wave-row">
<i style="height:12px;animation-delay:0s;"></i><i style="height:22px;animation-delay:.1s;"></i>
<i style="height:34px;animation-delay:.2s;"></i><i style="height:18px;animation-delay:.3s;"></i>
<i style="height:28px;animation-delay:.4s;"></i><i style="height:38px;animation-delay:.5s;"></i>
<i style="height:16px;animation-delay:.6s;"></i><i style="height:26px;animation-delay:.7s;"></i>
<i style="height:12px;animation-delay:.8s;"></i>
</div>
<div class="voice-btn"><svg width="32" height="32"><use href="#i-mic"/></svg></div>
<div class="voice-tip">松开发送 · 上滑取消</div>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P15 · 语音记账(识别中)</div>
</div>
<!-- P16 OCR 确认 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar"><span class="back"><svg width="20" height="20"><use href="#i-chev-l"/></svg></span>小票识别<span class="action">重拍</span></div>
<div class="content">
<div class="ocr-img" style="margin-top:8px;">
<div class="paper">
<i style="width:60%;margin:0 auto 3px;"></i>
<i style="width:90%;"></i><i style="width:75%;"></i><i style="width:85%;"></i>
<i style="width:70%;"></i><i style="width:88%;"></i>
<i style="width:50%;margin-top:3px;"></i>
</div>
<div class="scanline"></div>
<div class="ocr-badge"><svg width="10" height="10"><use href="#i-check"/></svg>识别完成</div>
</div>
<div style="height:10px;"></div>
<div class="card" style="padding:4px 14px;">
<div class="ocr-field"><span class="k">商户</span><span class="v">永辉超市(软件园店)<span class="conf">98%</span></span></div>
<div class="ocr-field"><span class="k">金额</span><span class="v" style="font-size:17px;">¥128.60 <span class="conf">99%</span></span></div>
<div class="ocr-field"><span class="k">时间</span><span class="v">今天 19:02 <span class="conf">95%</span></span></div>
<div class="ocr-field"><span class="k">AI 分类</span><span class="v hl">购物 · 超市采购 <span class="conf low">辅助判断</span></span></div>
<div class="ocr-field"><span class="k">支付方式</span><span class="v">微信支付</span></div>
</div>
<div class="ai-insight" style="margin-top:10px;">
<div class="h"><svg width="15" height="15"><use href="#i-sparkle"/></svg>小账喵</div>
识别到 14 件商品,其中零食占 ¥46……要不要我把零食单独拆一笔记「饮品零食」?
<div style="margin-top:8px;display:flex;gap:14px;">
<span style="font-size:11.5px;color:var(--ai);font-weight:600;">拆分记账</span>
<span style="font-size:11.5px;color:var(--text3);">不用,记一笔</span>
</div>
</div>
<div class="dt-actions">
<div class="btn ghost">手动修改</div>
<div class="btn primary">确认入账</div>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P16 · 拍小票 OCR 确认</div>
</div>
<!-- P17 账本切换 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="content" style="filter:blur(1.5px);opacity:.55;">
<div class="home-header">
<div class="home-top">
<div class="book">日常账本 <svg width="14" height="14"><use href="#i-chev-d"/></svg></div>
</div>
<div class="hero">
<div class="lb">7月结余</div>
<div class="num">¥ 4,286.50</div>
</div>
</div>
</div>
<div class="sheet-mask">
<div class="book-sheet">
<div class="bs-t">切换账本</div>
<div class="book-card on">
<div class="bic" style="background:var(--primary-bg);color:var(--primary);"><svg width="20" height="20"><use href="#i-wallet"/></svg></div>
<div><div class="bn">日常账本</div><div class="bd">默认 · 本月 142 笔 · ¥8,513.50</div></div>
<div class="bcheck"><svg width="18" height="18"><use href="#i-check"/></svg></div>
</div>
<div class="book-card">
<div class="bic" style="background:#EAF3FF;color:#3E82E0;"><svg width="20" height="20"><use href="#i-plane"/></svg></div>
<div><div class="bn">云南旅行</div><div class="bd">2026.05 · 38 笔 · ¥6,208.00</div></div>
</div>
<div class="book-card">
<div class="bic" style="background:#FDEFF4;color:#E05585;"><svg width="20" height="20"><use href="#i-baby"/></svg></div>
<div><div class="bn">带娃开销</div><div class="bd">与家人共享 · 261 笔 · ¥23,180.00</div></div>
</div>
<div class="add-bud" style="margin-top:10px;background:#fff;"><svg width="14" height="14"><use href="#i-plus"/></svg>新建账本</div>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P17 · 多账本切换弹层</div>
</div>
<!-- P18 分类管理 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar"><span class="back"><svg width="20" height="20"><use href="#i-chev-l"/></svg></span>分类管理<span class="action">完成</span></div>
<div class="seg"><span class="on">支出</span><span>收入</span></div>
<div class="content">
<div class="cm-hint">长按拖动排序 · 左滑或点删除移除分类</div>
<div class="list-group" style="margin-top:0;">
<div class="cm-row"><span class="drag"><svg width="16" height="16"><use href="#i-drag"/></svg></span><div class="lic" style="background:#FFF8E8;color:#D89614;"><svg width="16" height="16"><use href="#i-food"/></svg></div>餐饮<span class="del"><svg width="15" height="15"><use href="#i-trash"/></svg></span></div>
<div class="cm-row"><span class="drag"><svg width="16" height="16"><use href="#i-drag"/></svg></span><div class="lic" style="background:#FFF3EC;color:#F0642D;"><svg width="16" height="16"><use href="#i-cup"/></svg></div>饮品<span class="del"><svg width="15" height="15"><use href="#i-trash"/></svg></span></div>
<div class="cm-row"><span class="drag"><svg width="16" height="16"><use href="#i-drag"/></svg></span><div class="lic" style="background:#FDEFF4;color:#E05585;"><svg width="16" height="16"><use href="#i-cart"/></svg></div>购物<span class="del"><svg width="15" height="15"><use href="#i-trash"/></svg></span></div>
<div class="cm-row"><span class="drag"><svg width="16" height="16"><use href="#i-drag"/></svg></span><div class="lic" style="background:#EAF3FF;color:#3E82E0;"><svg width="16" height="16"><use href="#i-metro"/></svg></div>交通<span class="del"><svg width="15" height="15"><use href="#i-trash"/></svg></span></div>
<div class="cm-row"><span class="drag"><svg width="16" height="16"><use href="#i-drag"/></svg></span><div class="lic" style="background:#F2F3F5;color:var(--text2);"><svg width="16" height="16"><use href="#i-briefcase"/></svg></div>办公<span class="del"><svg width="15" height="15"><use href="#i-trash"/></svg></span></div>
</div>
<div class="add-bud" style="margin-top:12px;background:#fff;"><svg width="14" height="14"><use href="#i-plus"/></svg>自定义分类</div>
<div class="ai-insight" style="margin-top:10px;">
<div class="h"><svg width="15" height="15"><use href="#i-sparkle"/></svg>提示</div>
AI 聊天记账会自动匹配到这里的分类;删除分类后,历史账单会归入「其他」。
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P18 · 分类管理</div>
</div>
</div>
<style>
/* ============ v0.5 新增 ============ */
.search-bar{display:flex;align-items:center;gap:9px;background:#fff;border:.5px solid var(--line);border-radius:12px;padding:10px 13px;margin-top:8px;}
.search-bar .q{flex:1;font-size:13px;color:var(--text);}
.search-bar .q i{font-style:normal;display:inline-block;width:2px;height:15px;background:var(--primary);margin-left:1px;animation:blink 1s infinite;vertical-align:-3px;}
.search-bar .cancel{font-size:13px;color:var(--text2);}
.filter-row{display:flex;gap:8px;padding:12px 0 4px;flex-wrap:wrap;}
.f-chip{font-size:11px;color:var(--text2);background:#fff;border:.5px solid var(--line);padding:6px 12px;border-radius:14px;display:flex;align-items:center;gap:5px;}
.f-chip.on{background:var(--primary-bg);border-color:var(--primary);color:var(--primary-deep);font-weight:600;}
.search-sec{font-size:11px;color:var(--text3);margin:14px 2px 8px;}
.hist-chip{font-size:11.5px;color:var(--text2);background:#fff;border:.5px solid var(--line);padding:6px 13px;border-radius:14px;display:inline-block;margin:0 6px 8px 0;}
.result-sum{font-size:11px;color:var(--text3);padding:4px 2px 8px;}
.result-sum b{color:var(--text);}
mark{background:none;color:var(--primary);font-weight:700;}
/* 空状态 */
.empty-wrap{display:flex;flex-direction:column;align-items:center;padding:34px 30px 20px;text-align:center;}
.empty-illu{width:110px;height:110px;border-radius:50%;background:var(--ai-bg);display:flex;align-items:center;justify-content:center;color:var(--ai);position:relative;}
.empty-illu .bub{position:absolute;top:-6px;right:-22px;background:#fff;border:.5px solid var(--line);border-radius:10px 10px 10px 2px;padding:5px 9px;font-size:10px;color:var(--text2);box-shadow:0 3px 8px rgba(25,31,38,.06);}
.empty-t{font-size:15px;font-weight:700;margin-top:16px;}
.empty-d{font-size:11.5px;color:var(--text2);margin-top:6px;line-height:1.7;}
.empty-actions{display:flex;gap:10px;margin-top:18px;width:100%;}
.empty-actions .btn{flex:1;padding:12px;font-size:13.5px;}
/* 收入/转账 */
.transfer-box{background:#fff;border-radius:14px;border:.5px solid var(--line);padding:16px;display:flex;align-items:center;gap:12px;margin-top:8px;}
.acct{flex:1;text-align:center;}
.acct .aic{width:44px;height:44px;border-radius:13px;margin:0 auto 7px;display:flex;align-items:center;justify-content:center;}
.acct .an{font-size:12.5px;font-weight:600;}
.acct .ad{font-size:10px;color:var(--text3);margin-top:2px;}
.transfer-arrow{color:var(--text3);flex:none;}
/* 通知 */
.push-card{background:rgba(250,250,252,.96);border-radius:16px;padding:12px 14px;box-shadow:0 8px 26px rgba(20,30,45,.18);border:.5px solid rgba(255,255,255,.7);}
.push-head{display:flex;align-items:center;gap:7px;font-size:10.5px;color:var(--text2);}
.push-head .appic{width:18px;height:18px;border-radius:5px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;}
.push-head .tm{margin-left:auto;color:var(--text3);}
.push-t{font-size:12.5px;font-weight:700;margin-top:7px;}
.push-d{font-size:11.5px;color:var(--text2);margin-top:3px;line-height:1.55;}
.lock-wall{background:linear-gradient(170deg,#30354A,#1A1E30);border-radius:0;flex:1;padding:0 16px;display:flex;flex-direction:column;}
.lock-time{color:#fff;text-align:center;font-size:56px;font-weight:200;margin-top:30px;letter-spacing:2px;}
.lock-date{color:rgba(255,255,255,.75);text-align:center;font-size:13px;margin-top:2px;}
.inapp-banner{position:absolute;top:50px;left:12px;right:12px;z-index:40;background:rgba(255,255,255,.97);border-radius:15px;padding:11px 13px;display:flex;gap:10px;align-items:center;box-shadow:0 10px 30px rgba(20,30,45,.2);border:.5px solid var(--line);}
.inapp-banner .tx{flex:1;min-width:0;}
.inapp-banner .t1{font-size:12.5px;font-weight:700;}
.inapp-banner .t2{font-size:11px;color:var(--text2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.inapp-banner .act{font-size:11px;color:var(--ai);font-weight:600;flex:none;}
/* 全AI欢迎 */
.welcome-card{background:rgba(255,255,255,.85);border:.5px solid rgba(255,255,255,.95);border-radius:18px;padding:18px;backdrop-filter:blur(8px);text-align:center;margin:8px 0;}
.welcome-card .wt{font-size:15px;font-weight:800;margin-top:10px;}
.welcome-card .wd{font-size:11.5px;color:var(--text2);margin-top:6px;line-height:1.7;}
.try-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;}
.try-item{background:#fff;border:.5px solid var(--line);border-radius:11px;padding:10px 13px;font-size:12px;color:var(--text);display:flex;align-items:center;gap:9px;text-align:left;}
.try-item .tic{color:var(--ai);flex:none;}
.try-item .arrow{margin-left:auto;color:var(--text3);}
.offline-bar{background:#FFF4E8;border-radius:11px;padding:9px 13px;display:flex;align-items:center;gap:9px;font-size:11px;color:#9A6B2F;margin-top:8px;}
</style>
<!-- ================= v0.5 功能补全 ================= -->
<div class="section-label"><span class="tag">新增</span>搜索 · 空状态 · 收入/转账 · 通知 · 全AI欢迎页</div>
<div class="row">
<!-- P19 搜索 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="content">
<div class="search-bar">
<svg width="16" height="16" style="color:var(--text3);"><use href="#i-search"/></svg>
<div class="q">奶茶<i></i></div>
<span class="cancel">取消</span>
</div>
<div class="filter-row">
<span class="f-chip on">全部时间 <svg width="11" height="11"><use href="#i-chev-d"/></svg></span>
<span class="f-chip">分类 <svg width="11" height="11"><use href="#i-chev-d"/></svg></span>
<span class="f-chip">金额区间 <svg width="11" height="11"><use href="#i-chev-d"/></svg></span>
<span class="f-chip on">仅 AI 记账</span>
</div>
<div class="result-sum">找到 <b>12 笔</b> · 共 <b>¥216.00</b> · 试试问小账喵:"我这个月奶茶花了多少"</div>
<div class="day-group">
<div class="day-head"><span>7月17日</span><span>¥18.00</span></div>
<div class="titem">
<div class="cat-ic" style="background:#FFF3EC;color:#F0642D;"><svg width="18" height="18"><use href="#i-cup"/></svg></div>
<div class="mid"><div class="n">一点点<mark>奶茶</mark></div><div class="d">14:32 <span class="ai-badge"><svg width="8" height="8"><use href="#i-sparkle"/></svg>AI</span></div></div>
<div class="amt">-18.00</div>
</div>
</div>
<div style="height:10px;"></div>
<div class="day-group">
<div class="day-head"><span>7月15日</span><span>¥37.00</span></div>
<div class="titem">
<div class="cat-ic" style="background:#FFF3EC;color:#F0642D;"><svg width="18" height="18"><use href="#i-cup"/></svg></div>
<div class="mid"><div class="n">喜茶 · 多肉葡萄(<mark>奶茶</mark></div><div class="d">15:20 <span class="ai-badge"><svg width="8" height="8"><use href="#i-sparkle"/></svg>AI</span></div></div>
<div class="amt">-19.00</div>
</div>
<div class="titem">
<div class="cat-ic" style="background:#FFF3EC;color:#F0642D;"><svg width="18" height="18"><use href="#i-cup"/></svg></div>
<div class="mid"><div class="n">蜜雪冰城(<mark>奶茶</mark></div><div class="d">11:02</div></div>
<div class="amt">-8.00</div>
</div>
</div>
<div class="search-sec">搜索历史</div>
<div>
<span class="hist-chip">打车</span><span class="hist-chip">超市</span><span class="hist-chip">> ¥100</span><span class="hist-chip">上月餐饮</span>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P19 · 搜索(筛选 + 高亮 + AI 引导)</div>
</div>
<!-- P20 空状态首页 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="content">
<div class="home-header">
<div class="home-top">
<div class="book">日常账本 <svg width="14" height="14"><use href="#i-chev-d"/></svg></div>
<div class="rt"><svg width="19" height="19"><use href="#i-search"/></svg><svg width="19" height="19"><use href="#i-bell"/></svg></div>
</div>
<div class="hero">
<div class="lb">7月结余</div>
<div class="num">¥ 0.00</div>
<div class="io">
<div>收入<b>¥ 0.00</b></div>
<div>支出<b>¥ 0.00</b></div>
<div>预算<b>未设置</b></div>
</div>
</div>
</div>
<div class="empty-wrap">
<div class="empty-illu">
<svg width="56" height="56"><use href="#i-cat"/></svg>
<div class="bub">等你记第一笔!</div>
</div>
<div class="empty-t">还没有账单</div>
<div class="empty-d">跟我说句话就能记账,比如<br>"早饭包子豆浆 6 块" · "打车 45"</div>
<div class="empty-actions">
<div class="btn ai" style="display:flex;align-items:center;justify-content:center;gap:6px;"><svg width="15" height="15"><use href="#i-chat"/></svg>和小账喵聊聊</div>
<div class="btn ghost" style="display:flex;align-items:center;justify-content:center;gap:6px;"><svg width="15" height="15"><use href="#i-plus"/></svg>手动记一笔</div>
</div>
</div>
</div>
<div class="tabbar">
<div class="tab active"><svg width="21" height="21"><use href="#i-home"/></svg>明细</div>
<div class="tab"><svg width="21" height="21"><use href="#i-chart"/></svg>统计</div>
<div class="tab-fab"><svg width="22" height="22"><use href="#i-plus"/></svg></div>
<div class="tab"><svg width="21" height="21"><use href="#i-chat"/></svg>小账喵</div>
<div class="tab"><svg width="21" height="21"><use href="#i-user"/></svg>我的</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P20 · 空状态(新用户首页)</div>
</div>
<!-- P21 收入/转账 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="navbar"><span class="back"><svg width="20" height="20"><use href="#i-close"/></svg></span>记一笔</div>
<div class="seg"><span>支出</span><span class="on">收入</span><span>转账</span></div>
<div class="content">
<div class="cat-grid">
<div class="cat on"><div class="ci" style="background:var(--primary);border-color:var(--primary);color:#fff;"><svg width="21" height="21"><use href="#i-money"/></svg></div>工资</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-briefcase"/></svg></div>兼职</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-chart"/></svg></div>理财</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-gift"/></svg></div>红包</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-card"/></svg></div>报销</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-tag"/></svg></div>二手</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-sparkle"/></svg></div>奖金</div>
<div class="cat"><div class="ci"><svg width="21" height="21"><use href="#i-plus"/></svg></div>自定义</div>
</div>
<div class="search-sec" style="margin-top:4px;">转账(tab 三)示例</div>
<div class="transfer-box">
<div class="acct">
<div class="aic" style="background:var(--primary-bg);color:var(--primary);"><svg width="22" height="22"><use href="#i-wallet"/></svg></div>
<div class="an">微信零钱</div>
<div class="ad">余额 ¥328.50</div>
</div>
<div class="transfer-arrow"><svg width="22" height="22"><use href="#i-swap"/></svg></div>
<div class="acct">
<div class="aic" style="background:#EAF3FF;color:#3E82E0;"><svg width="22" height="22"><use href="#i-card"/></svg></div>
<div class="an">招行储蓄卡</div>
<div class="ad">尾号 6688</div>
</div>
</div>
</div>
<div class="amount-panel">
<div class="amount-line">
<div class="cat-mini"><div class="cat-ic" style="width:32px;height:32px;background:var(--primary-bg);color:var(--primary);"><svg width="17" height="17"><use href="#i-money"/></svg></div>工资</div>
<div class="num" style="color:var(--primary);">+12,800<i></i></div>
</div>
<div class="memo-line">
<span class="memo-chip on">7月工资</span>
<span class="memo-chip">今天 10:00</span>
<span class="memo-chip">招行储蓄卡</span>
</div>
<div class="keypad">
<div class="key">1</div><div class="key">2</div><div class="key">3</div><div class="key fn"></div>
<div class="key">4</div><div class="key">5</div><div class="key">6</div><div class="key fn"></div>
<div class="key">7</div><div class="key">8</div><div class="key">9</div><div class="key ok" style="background:var(--primary);">完成</div>
<div class="key fn">再记</div><div class="key">0</div><div class="key">.</div>
</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P21 · 收入记账 + 转账示例</div>
</div>
<!-- P22 通知样式 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar" style="color:#fff;"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="lock-wall">
<div class="lock-time">21:30</div>
<div class="lock-date">7月17日 星期五</div>
<div style="height:26px;"></div>
<div class="push-card">
<div class="push-head"><span class="appic"><svg width="11" height="11"><use href="#i-cat"/></svg></span>喵记账<span class="tm">现在</span></div>
<div class="push-t">小账喵:今日小结出炉</div>
<div class="push-d">今天花了 ¥86.5,比昨天省 ¥41.5。餐饮预算还剩 ¥16,明天悠着点喵~</div>
</div>
<div style="height:10px;"></div>
<div class="push-card">
<div class="push-head"><span class="appic"><svg width="11" height="11"><use href="#i-cat"/></svg></span>喵记账<span class="tm">2小时前</span></div>
<div class="push-t">⚠️ 饮品预算告急</div>
<div class="push-d">本周饮品预算已用 93%。是谁下午又点了奶茶?是你喵。</div>
</div>
<div style="height:10px;"></div>
<div class="push-card">
<div class="push-head"><span class="appic"><svg width="11" height="11"><use href="#i-cat"/></svg></span>喵记账<span class="tm">昨天</span></div>
<div class="push-t">7月月报已生成</div>
<div class="push-d">这个月你最烧钱的一天、最离不开的店……点开看看你的消费画像。</div>
</div>
</div>
<div style="position:relative;height:120px;background:var(--bg);">
<div class="inapp-banner">
<div class="ai-face solid" style="width:34px;height:34px;"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="tx">
<div class="t1">小账喵有话说</div>
<div class="t2">检测到支付宝账单:星巴克 ¥32,要帮你记上吗?</div>
</div>
<span class="act">记上</span>
</div>
<div style="position:absolute;bottom:14px;left:16px;right:16px;font-size:10px;color:var(--text3);text-align:center;">↑ 应用内横幅(AI 主动提醒 / 账单导入建议)</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P22 · 推送通知 + 应用内横幅</div>
</div>
<!-- P23 全AI欢迎页 -->
<div class="frame-wrap">
<div class="phone aimode">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="aimode-head">
<div class="top">
<div class="ai-face solid" style="width:44px;height:44px;box-shadow:0 6px 14px rgba(91,107,245,.35);"><svg width="26" height="26"><use href="#i-cat"/></svg></div>
<div class="meta">
<div class="n">小账喵 <span class="persona-chip">毒舌猫娘</span></div>
<div class="s">全 AI 模式</div>
</div>
<div class="sw"><svg width="12" height="12"><use href="#i-swap"/></svg>切换模式</div>
</div>
</div>
<div class="chat-body">
<div class="welcome-card">
<div class="ai-face solid" style="width:64px;height:64px;margin:0 auto;box-shadow:0 8px 18px rgba(91,107,245,.3);"><svg width="38" height="38"><use href="#i-cat"/></svg></div>
<div class="wt">你好呀,我是小账喵</div>
<div class="wd">从现在开始,这个对话就是你的账本。<br>记账、查账、预算、月报,一句话的事。</div>
<div class="try-list">
<div class="try-item"><span class="tic"><svg width="15" height="15"><use href="#i-chat"/></svg></span>"早饭包子豆浆 6 块" —— 试试直接记一笔<span class="arrow"><svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
<div class="try-item"><span class="tic"><svg width="15" height="15"><use href="#i-mic"/></svg></span>按住底部麦克风,用说的也行<span class="arrow"><svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
<div class="try-item"><span class="tic"><svg width="15" height="15"><use href="#i-target"/></svg></span>"帮我定个每月 5000 的预算"<span class="arrow"><svg width="13" height="13"><use href="#i-chev-r"/></svg></span></div>
</div>
</div>
<div class="msg ai">
<div class="av ai-face solid"><svg width="20" height="20"><use href="#i-cat"/></svg></div>
<div class="bubble">别光看教程呀,先记一笔试试?我很快的喵</div>
</div>
</div>
<div class="chat-input">
<svg width="21" height="21"><use href="#i-mic"/></svg>
<div class="field">说句话,记一笔…</div>
<svg width="21" height="21"><use href="#i-smile"/></svg>
<svg width="21" height="21"><use href="#i-plus"/></svg>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P23 · 全 AI 模式首次欢迎页</div>
</div>
<!-- P24 离线状态 -->
<div class="frame-wrap">
<div class="phone">
<div class="statusbar"><span>9:41</span><div class="notch"></div><span></span></div>
<div class="screen">
<div class="content">
<div class="home-header">
<div class="home-top">
<div class="book">日常账本 <svg width="14" height="14"><use href="#i-chev-d"/></svg></div>
<div class="rt"><svg width="19" height="19"><use href="#i-search"/></svg><svg width="19" height="19"><use href="#i-bell"/></svg></div>
</div>
<div class="offline-bar">
<svg width="15" height="15"><use href="#i-offline"/></svg>
当前离线 · 手动记账可用,AI 功能恢复联网后可用 · 本地已存 2 笔待同步
</div>
<div style="height:8px;"></div>
<div class="hero" style="opacity:.98;">
<div class="lb">7月结余</div>
<div class="num">¥ 4,286.50</div>
<div class="io">
<div>收入<b>¥ 12,800.00</b></div>
<div>支出<b>¥ 8,513.50</b></div>
<div>预算剩余<b>¥ 1,900.00</b></div>
</div>
</div>
</div>
<div class="ai-entry" style="opacity:.55;">
<div class="ai-face" style="width:40px;height:40px;color:var(--text3);background:#F2F3F5;"><svg width="24" height="24"><use href="#i-cat"/></svg></div>
<div class="txt">
<div class="t1" style="color:var(--text3);">小账喵 · 离线中</div>
<div class="t2">联网后我就回来~期间账单我都帮你存好了</div>
</div>
<div class="go" style="background:#F2F3F5;color:var(--text3);">不可用</div>
</div>
<div class="sec-head"><span class="h">最近账单</span></div>
<div class="day-group">
<div class="day-head"><span>今天 · 7月17日</span><span>支出 ¥54.00</span></div>
<div class="titem">
<div class="cat-ic" style="background:#FFF8E8;color:#D89614;"><svg width="18" height="18"><use href="#i-food"/></svg></div>
<div class="mid"><div class="n">晚饭 · 面馆</div><div class="d">19:20 · <span style="color:#B58A3F;">待同步 ↑</span></div></div>
<div class="amt">-28.00</div>
</div>
<div class="titem">
<div class="cat-ic" style="background:#FFF3EC;color:#F0642D;"><svg width="18" height="18"><use href="#i-cup"/></svg></div>
<div class="mid"><div class="n">咖啡</div><div class="d">15:02 · <span style="color:#B58A3F;">待同步 ↑</span></div></div>
<div class="amt">-26.00</div>
</div>
</div>
</div>
<div class="tabbar">
<div class="tab active"><svg width="21" height="21"><use href="#i-home"/></svg>明细</div>
<div class="tab"><svg width="21" height="21"><use href="#i-chart"/></svg>统计</div>
<div class="tab-fab"><svg width="22" height="22"><use href="#i-plus"/></svg></div>
<div class="tab" style="opacity:.45;"><svg width="21" height="21"><use href="#i-chat"/></svg>小账喵</div>
<div class="tab"><svg width="21" height="21"><use href="#i-user"/></svg>我的</div>
</div>
</div>
<div class="homebar"><i></i></div>
</div>
<div class="frame-name">P24 · 离线状态(AI 置灰 + 待同步)</div>
</div>
</div>
<p style="text-align:center;color:#9AA3AD;font-size:12px;margin-top:60px;">
v0.5 · 清新简约风 · 24 个界面 · 后续以 Flutter 实现
</p>
</body>
</html>