:root{--paper:#F7F2E7;--paper-deep:#EFE8D6;--card:#FFFDF8;--ink:#27201A;--ink-soft:#6E675A;--green:#27500A;--green-deep:#1B3A06;--green-mid:#3B6D11;--green-tint:#E9EFD9;--gold:#8A5A0B;--gold-num:#A6690F;--gold-bright:#E8BC55;--seal:#A8341F;--seal-deep:#8C2414;--seal-tint:#F8ECE7;--line:#D8D1BE;--line-soft:#E9E3D2;--serif:"Noto Serif SC","Songti SC","SimSun",serif;--sans:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;--mono:"SF Mono",Consolas,"Courier New",monospace;--ease:cubic-bezier(.16,1,.3,1);--dur-fast:.16s;--dur:.32s;--dur-slow:.64s;--fs:18px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{font-family:var(--sans);color:var(--ink);background:#211e17;display:flex;align-items:center;justify-content:center;min-height:100vh;padding:28px 12px;letter-spacing:.02em}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(48rem 30rem at 50% -12%,rgba(232,188,85,.1),transparent 60%),radial-gradient(40rem 30rem at 85% 110%,rgba(61,109,17,.14),transparent 55%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}button{font-family:var(--sans);cursor:pointer;border:none;background:none;color:inherit}button:focus-visible{outline:3px solid var(--green-mid);outline-offset:2px;border-radius:8px}b,strong{font-weight:700}.phone{width:min(400px,100vw);height:min(860px,100vh);background:#14110c;border-radius:48px;padding:12px;position:relative;z-index:2;box-shadow:0 40px 80px -30px #0009,0 0 0 1px #e8bc5514}.phone:before{content:"";position:absolute;left:-2px;top:180px;width:3px;height:56px;border-radius:3px;background:#14110c}.phone:after{content:"";position:absolute;right:-2px;top:220px;width:3px;height:88px;border-radius:3px;background:#14110c}.app{position:relative;width:100%;height:100%;border-radius:37px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;font-size:var(--fs);line-height:1.7}.app:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.app.big-mode{--fs:22px}.app.big-mode .t-sec{font-size:26px}.statusbar{height:44px;flex:0 0 44px;display:flex;align-items:flex-end;justify-content:space-between;padding:0 26px 6px;font-size:14px;font-weight:700;background:var(--paper)}.statusbar svg{height:13px;width:auto}.apphead{flex:0 0 auto;padding:10px 22px 13px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 1px 0 var(--card)}.apphead h1{font-family:var(--serif);font-weight:900;font-size:27px;letter-spacing:2px;line-height:1.3}.app.big-mode .apphead h1{font-size:32px}.apphead p{font-size:13.5px;color:var(--ink-soft);margin-top:1px;letter-spacing:1px}.body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.body::-webkit-scrollbar{display:none}.view{padding:20px 22px 30px}.view>*{animation:riseIn .5s var(--ease) both}.view>*:nth-child(1){animation-delay:.02s}.view>*:nth-child(2){animation-delay:.08s}.view>*:nth-child(3){animation-delay:.14s}.view>*:nth-child(4){animation-delay:.2s}.view>*:nth-child(5){animation-delay:.26s}.view>*:nth-child(6){animation-delay:.32s}.view>*:nth-child(7){animation-delay:.38s}.view>*:nth-child(8){animation-delay:.44s}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.tabbar{flex:0 0 74px;border-top:1px solid var(--line);background:var(--card);display:flex;position:relative;z-index:10}.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink-soft);font-size:13.5px;letter-spacing:2px;padding-top:6px;position:relative;transition:color var(--dur-fast) ease}.tabbar button:before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 4px 4px;background:transparent;transition:background-color var(--dur-fast) ease}.tabbar button svg{width:24px;height:24px}.tabbar button.is-active{color:var(--green);font-weight:700}.tabbar button.is-active:before{background:var(--green)}.app.big-mode .tabbar button{font-size:16px}.app.big-mode .tabbar button svg{width:28px;height:28px}.t-sec{font-family:var(--serif);font-weight:900;font-size:22px;margin:28px 0 12px;letter-spacing:2px;display:flex;align-items:baseline;gap:10px}.t-sec:first-child{margin-top:2px}.t-sec:after{content:"";flex:1;border-bottom:1px solid var(--line);transform:translateY(-4px)}.card{background:var(--card);border:1px solid var(--line-soft);border-radius:18px;padding:18px 20px;margin-bottom:14px}.row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.money{font-family:var(--serif);font-weight:900;color:var(--gold-num);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.5px}.dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-5px);min-width:16px}.btn{display:block;width:100%;text-align:center;border-radius:14px;font-weight:700;font-size:19px;letter-spacing:3px;padding:16px;transition:transform var(--dur-fast) ease,background-color var(--dur-fast) ease}.btn:active{transform:scale(.97)}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green-mid)}.btn-ghost{background:var(--card);border:1.5px solid var(--green);color:var(--green)}.btn-seal{background:var(--seal);color:#fff}.tag{font-size:13px;border:1px solid var(--green);color:var(--green);border-radius:999px;padding:1px 12px;background:var(--green-tint);white-space:nowrap;letter-spacing:1px}.tag-seal{font-size:13px;border:1px solid var(--seal);color:var(--seal);border-radius:999px;padding:1px 12px;background:var(--seal-tint);white-space:nowrap;letter-spacing:1px}.divider{border-top:1px dashed var(--line);margin:12px 0}.list-plain{list-style:none}.list-plain li{padding:13px 0;border-bottom:1px dashed var(--line)}.list-plain li:last-child{border-bottom:none}.muted{color:var(--ink-soft);font-size:14.5px}.ledger-cover{position:relative;border-radius:20px;padding:22px 20px 18px;margin:16px 0 14px;background:var(--green-deep);color:var(--paper);overflow:hidden;background-image:repeating-linear-gradient(to bottom,transparent 0 31px,rgba(247,242,231,.06) 31px 32px);box-shadow:0 16px 32px -18px #1b3a068c}.ledger-cover:before{content:"";position:absolute;top:0;bottom:0;left:38px;width:1px;background:var(--seal);opacity:.5}.ledger-cover .lc-title{font-family:var(--serif);font-weight:900;font-size:15px;letter-spacing:4px;color:var(--gold-bright);margin-bottom:10px;padding-left:26px}.ledger-cover .lc-line{display:flex;align-items:baseline;gap:10px;padding:7px 0 7px 26px;font-size:16px}.ledger-cover .dots{border-color:#f7f2e752}.ledger-cover .money{color:var(--gold-bright);font-size:19px}.lc-total{display:flex;align-items:baseline;gap:10px;margin-top:8px;padding:12px 0 2px 26px;border-top:1px solid rgba(247,242,231,.22)}.lc-total .dots{border-color:transparent}.lc-total b{font-family:var(--serif);font-weight:900;font-size:32px;color:var(--gold-bright);font-variant-numeric:tabular-nums;letter-spacing:1px}.app.big-mode .lc-total b{font-size:38px}.hero-num{font-family:var(--serif);font-weight:900;font-size:34px;color:var(--gold-num);font-variant-numeric:tabular-nums;line-height:1.25}.app.big-mode .hero-num{font-size:42px}.greet{font-size:15px;color:var(--ink-soft)}.greet b{color:var(--ink);font-size:18px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.menu-item{background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:18px 16px;text-align:left;display:flex;flex-direction:column;gap:8px;transition:border-color var(--dur-fast) ease,background-color var(--dur-fast) ease}.menu-item:hover{border-color:var(--green-mid)}.menu-item:active{border-color:var(--green);background:var(--green-tint)}.menu-item .mi-icon{width:44px;height:44px;border-radius:12px;background:var(--green-tint);display:flex;align-items:center;justify-content:center;color:var(--green)}.menu-item .mi-icon svg{width:24px;height:24px}.menu-item b{font-size:19px;letter-spacing:2px}.menu-item span{font-size:13.5px;color:var(--ink-soft);line-height:1.55}.app.big-mode .menu-item span{font-size:16px}.notice{display:flex;gap:10px;align-items:flex-start;background:var(--seal-tint);border:1px solid #EBCFC2;border-radius:14px;padding:12px 14px;font-size:14px;color:var(--seal-deep)}.bar-track{height:12px;background:var(--paper-deep);border:1px solid var(--line-soft);border-radius:99px;overflow:hidden;margin-top:5px}.bar-fill{height:100%;background:var(--green-mid);border-radius:99px;transition:width .5s var(--ease)}.bar-fill.is-best{background:linear-gradient(90deg,var(--gold-num),var(--gold-bright))}.bar-flag{font-size:13px;color:var(--gold);font-weight:700;margin-top:4px}.flow-row small{display:block;color:var(--ink-soft);font-size:13.5px;margin-top:2px}.viewfinder{background:#20241a;border-radius:18px;height:300px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.viewfinder:before,.viewfinder:after{content:"";position:absolute;width:26px;height:26px;z-index:2}.viewfinder:before{top:12px;left:12px;border-top:3px solid var(--gold-bright);border-left:3px solid var(--gold-bright);border-top-left-radius:6px}.viewfinder:after{bottom:12px;right:12px;border-bottom:3px solid var(--gold-bright);border-right:3px solid var(--gold-bright);border-bottom-right-radius:6px}.vf-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.12;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:40px 40px}.vf-box{position:absolute;border:2px solid #8FCB62;border-radius:8px}.vf-box:after{content:attr(data-label);position:absolute;top:-22px;left:0;font-size:12px;color:#b9e39b;letter-spacing:1px}.vf-center{color:#d8d2c2;font-size:14px;letter-spacing:2px;z-index:1}.scanline{position:absolute;left:0;right:0;height:2px;background:#b9e39b;opacity:.85;animation:scan 1.6s ease-in-out infinite;z-index:1}@keyframes scan{0%,to{top:8%}50%{top:90%}}.step-pill{display:inline-block;font-size:13px;letter-spacing:2px;color:var(--green);font-weight:700;margin-bottom:10px;border:1px solid var(--green);border-radius:999px;padding:2px 14px;background:var(--green-tint)}.grade-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line);font-size:17px}.grade-row b{font-family:var(--serif);font-size:20px;color:var(--gold-num)}.qr{width:150px;height:150px;margin:14px auto 6px;border-radius:12px;background:#fff;border:1px solid var(--line);padding:12px;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);gap:2px}.qr i{background:var(--ink);border-radius:1px}.qr i.o{background:transparent}.seal-wrap{display:flex;justify-content:center;margin:18px 0}.seal{width:118px;height:118px;border:3.5px solid var(--seal);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--seal);font-family:var(--serif);font-weight:900;transform:rotate(-9deg);opacity:.93;outline:1.5px solid rgba(168,52,31,.32);outline-offset:6px;box-shadow:inset 0 0 12px #a8341f1f}.seal b{font-size:27px;letter-spacing:4px}.seal span{font-size:12px;letter-spacing:2px}.seal.pop{animation:stamp .5s var(--ease) backwards}@keyframes stamp{0%{transform:rotate(-9deg) scale(2);opacity:0}60%{transform:rotate(-9deg) scale(.93);opacity:.95}to{transform:rotate(-9deg) scale(1);opacity:.93}}.hash{font-family:var(--mono);font-size:11.5px;color:var(--line);text-align:center;margin-top:10px;word-break:break-all}.done-tip{text-align:center;font-size:15px;color:var(--ink-soft);margin-top:8px}.mic-zone{background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:22px;text-align:center;margin-bottom:16px}.mic{width:96px;height:96px;border-radius:50%;margin:0 auto;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;transition:background-color var(--dur-fast) ease,transform var(--dur-fast) ease;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:0 10px 22px -10px #27500a80}.mic:active{transform:scale(.94)}.mic.holding{background:var(--gold-num);box-shadow:0 10px 26px -8px #a6690f8c}.mic svg{width:40px;height:40px}.mic-hint{margin-top:12px;font-size:15px;color:var(--ink-soft)}.mic-state{margin-top:6px;font-size:15px;font-weight:700;color:var(--green);min-height:24px}.wave{display:flex;gap:4px;justify-content:center;align-items:center;height:30px;margin-top:8px}.wave span{width:4px;height:6px;background:var(--gold-num);border-radius:2px}.listening .wave span{animation:waveBar .5s ease-in-out infinite alternate}.wave span:nth-child(2){animation-delay:.08s}.wave span:nth-child(3){animation-delay:.16s}.wave span:nth-child(4){animation-delay:.24s}.wave span:nth-child(5){animation-delay:.32s}@keyframes waveBar{0%{height:5px}to{height:28px}}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}.chip{font-size:14px;border:1px solid var(--line);border-radius:999px;padding:3px 13px;background:var(--paper)}.chip b{color:var(--green)}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#27201a7a;display:none;align-items:flex-end;z-index:30}.overlay.is-open{display:flex;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{width:100%;background:var(--paper);border-radius:24px 24px 0 0;padding:26px 24px 34px;animation:sheetUp .32s var(--ease);border-top:3px solid var(--green)}@keyframes sheetUp{0%{transform:translateY(60px);opacity:.4}to{transform:none;opacity:1}}.sheet h3{font-family:var(--serif);font-weight:900;font-size:22px;margin-bottom:6px;letter-spacing:1px}.field{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px dashed var(--line);font-size:16.5px}.field span{color:var(--ink-soft)}.toast{position:absolute;left:50%;bottom:100px;transform:translate(-50%) translateY(20px);background:var(--ink);color:var(--paper);border-radius:12px;padding:12px 20px;font-size:15px;letter-spacing:1px;opacity:0;pointer-events:none;z-index:40;transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease);white-space:nowrap;display:flex;align-items:center;gap:9px;box-shadow:0 12px 28px -12px #00000073}.toast:before{content:"账";flex:0 0 22px;width:22px;height:22px;border-radius:5px;background:var(--seal);color:#fff;font-family:var(--serif);font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.trend{display:flex;gap:8px;align-items:flex-end;padding-top:10px}.trend-col{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.trend-bars{display:flex;gap:3px;align-items:flex-end;height:96px}.tb{width:13px;border-radius:3px 3px 0 0}.tb.income{background:var(--green-mid)}.tb.cost{background:var(--line)}.tb.profit{background:var(--gold-bright)}.trend-val{font-size:10.5px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.trend-month{font-size:12px;color:var(--ink-soft);letter-spacing:1px}.trend-legend{display:flex;gap:16px;justify-content:center;font-size:12.5px;color:var(--ink-soft);margin-top:10px}.trend-legend i{width:10px;height:10px;border-radius:3px;display:inline-block;margin-right:5px;transform:translateY(1px)}.est-row{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:16px}.est-row small{display:block;color:var(--ink-soft);font-size:12.5px;margin-top:1px}.est-row .money{font-size:18px}.est-total{display:flex;align-items:baseline;gap:10px;padding-top:14px}.est-total b{font-family:var(--serif);font-weight:900;font-size:31px;color:var(--seal);font-variant-numeric:tabular-nums;letter-spacing:1px}.est-note{font-size:13px;color:var(--ink-soft);margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.plat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plat-card{background:var(--card);border:1.5px solid var(--line);border-radius:16px;padding:20px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;transition:border-color var(--dur-fast) ease}.plat-card:hover{border-color:var(--ink-soft)}.plat-card b{font-size:17px;letter-spacing:1px}.plat-card span{font-size:12.5px;color:var(--ink-soft)}.plat-card.wx{border-color:#0b8a0b}.plat-card.zfb{border-color:#1677ff}.plat-mark{width:44px;height:44px;border-radius:12px;color:#fff;font-weight:900;font-size:15px;display:flex;align-items:center;justify-content:center;letter-spacing:1px}.plat-card.wx .plat-mark{background:#0b8a0b}.plat-card.zfb .plat-mark{background:#1677ff}.opt-row{display:flex;justify-content:space-between;align-items:center;padding:15px 2px;border-bottom:1px dashed var(--line);font-size:17px;width:100%;text-align:left}.opt-row:last-child{border-bottom:none}.check{color:var(--green);font-weight:900;font-size:19px}.contact{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px dashed var(--line)}.contact:last-child{border-bottom:none}.c-avatar{width:42px;height:42px;border-radius:12px;background:var(--green-tint);color:var(--green);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:900;font-size:18px;flex:0 0 42px}.import-cats{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.mini-chip{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:2px 11px;background:var(--paper)}.mini-chip.sel{border-color:var(--green);color:var(--green);background:var(--green-tint);font-weight:700}.link-btn{color:var(--green);font-weight:700;font-size:14px;text-decoration:underline;text-underline-offset:3px}.progress{height:14px;background:var(--paper-deep);border:1px solid var(--line-soft);border-radius:99px;overflow:hidden;margin:16px 0 8px}.progress i{display:block;height:100%;width:0;background:var(--green-mid);border-radius:99px;transition:width .3s linear}.progress-label{text-align:center;font-size:14px;color:var(--ink-soft)}.me-head{display:flex;align-items:center;gap:16px}.avatar{width:64px;height:64px;border-radius:18px;background:var(--green);color:var(--paper);font-family:var(--serif);font-weight:900;font-size:26px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1.5px #f7f2e740}.switch{width:56px;height:32px;border-radius:99px;background:var(--line);position:relative;transition:background-color .2s ease;flex:0 0 56px}.switch:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#fff;transition:left .2s ease}.switch.on{background:var(--green)}.switch.on:after{left:27px}.set-row{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px dashed var(--line);font-size:17px}.set-row:last-child{border-bottom:none}.set-row span{color:var(--ink-soft);font-size:14px}.offline-tag{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--ink-soft)}.offline-tag i{width:9px;height:9px;border-radius:50%;background:var(--green-mid);display:inline-block}.stage-caption{position:absolute;right:calc(100% + 26px);top:50%;transform:translateY(-50%);width:210px;color:#b4ac99;font-size:14px;line-height:2;display:block;border-left:2px solid var(--seal);padding-left:16px}.stage-caption b{color:var(--paper);font-size:17px;display:block;margin-bottom:6px;letter-spacing:3px}@media(max-width:760px){.stage-caption{display:none}}@media(max-width:520px),(max-height:740px){body{padding:0;background:var(--paper)}body:before,body:after{display:none}.phone{width:100vw;height:100dvh;border-radius:0;padding:0;box-shadow:none}.phone:before,.phone:after{display:none}.app{border-radius:0}}@media(prefers-reduced-motion:reduce){.view>*,.overlay.is-open,.sheet,.toast{animation:none;transition:none}.scanline,.listening .wave span,.seal.pop{animation:none}.bar-fill{transition:none}}
