:root{--brand: #014db2;--brand-deep: #001745;--text: #0a1628;--text-2: #6b7280;--text-3: #9ca3af;--line: #efefef;--bg: #f7f8fa;--card: #ffffff;--danger: #f53f3f;--danger-soft: #ef4444;--ok: #00b42a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:#e6e8ec;color:var(--text);font-family:PingFang SC,Noto Sans SC,Microsoft YaHei,sans-serif;font-size:18px;line-height:1.5}#app{max-width:455px;margin:0 auto;min-height:100vh;background:var(--bg);position:relative;padding-bottom:0}button{font-family:inherit;cursor:pointer}.nav{position:sticky;top:0;z-index:20;height:49px;display:flex;align-items:center;background:#fff;box-shadow:0 1px #0f172a0a}.nav h1{flex:1;margin:0;text-align:center;font-size:20px;font-weight:600}.nav .back{width:49px;height:49px;border:none;background:none;display:flex;align-items:center;justify-content:center}.nav .spacer{width:49px}.nav .right{width:44px;text-align:center;font-size:16px;color:var(--text-2)}.page{padding:12px 14px 24px}.card{background:var(--card);border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:0 1px 2px #1d21290a}.card-title{font-size:19px;font-weight:600;margin:0 0 10px}.row{min-height:48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f2f3f5;gap:12px}.row:last-child{border-bottom:none}.row .k{font-size:18px}.row .v{font-size:17px;color:var(--text-2);text-align:right}.row .v.link{color:var(--brand)}.field{margin-bottom:14px}.field label{display:block;font-size:17px;color:var(--text-2);margin-bottom:6px}.input{width:100%;height:46px;border-radius:10px;border:1px solid #ebebed;background:#f9f9f9;padding:0 14px;font-size:19px;color:var(--text);outline:none}.input:focus{border-color:var(--brand);background:#fff}.input.err{border-color:var(--danger)}.hint{font-size:16px;color:var(--text-3);margin-top:6px}.hint.error{color:var(--danger)}.code-row{display:flex;gap:10px}.code-row .input{flex:1}.code-btn{flex:none;width:112px;border-radius:10px;border:1px solid var(--brand);color:var(--brand);background:#fff;font-size:17px}.code-btn:disabled{border-color:#d9d9d9;color:var(--text-3);background:#f5f5f5}.btn{width:100%;height:46px;border:none;border-radius:10px;font-size:20px;font-weight:500;color:#fff;background:linear-gradient(135deg,#014cb3,#001745)}.btn:disabled{opacity:.5}.btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.danger{background:#fff;color:var(--danger);border:1px solid var(--danger-soft)}.btn.small{width:auto;height:34px;padding:0 16px;font-size:17px;border-radius:8px}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);max-width:280px;padding:14px 18px;border-radius:12px;background:#0a1628db;color:#fff;font-size:18px;text-align:center;z-index:100}.banner{padding:10px 12px;border-radius:10px;font-size:16px;line-height:1.6;margin-bottom:10px;background:#f5f6f8;color:var(--text-2)}.banner.warn{background:#fff7e8;color:#b76e00}.tabbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fff;border-top:1px solid var(--line);z-index:20;box-shadow:0 -1px 4px #0000000a;padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;border:none;background:none;padding:12px 0 13px;font-size:18px;color:var(--text-3)}.tabbar button.on{color:var(--brand);font-weight:600}.tabbar-spacer{height:calc(50px + env(safe-area-inset-bottom))}.auth-page{min-height:100vh;display:flex;flex-direction:column}.auth-page .site-footer{margin-top:auto;text-align:center;font-size:15px;line-height:2;color:var(--text-3);background:var(--bg);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.footer-spacer{display:none}.hero{background:linear-gradient(160deg,#014db2,#001745);color:#fff;padding:22px 16px 26px}.hero .site{font-size:20px;opacity:.9}.hero .state{font-size:20px;font-weight:600;margin:10px 0 4px}.hero .sub{font-size:16px;opacity:.75}.hero .balance{margin-top:16px;display:flex;gap:26px;text-align:center}.hero .balance b{display:block;font-size:24px}.hero .balance span{font-size:16px;opacity:.75;display:block}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border-radius:12px;margin:-14px 14px 12px;padding:14px 8px;position:relative;z-index:2;box-shadow:0 2px 10px #0a16280f}.quick button{border:none;background:none;font-size:15px;color:var(--text-2)}.quick .num{display:block;font-size:21px;font-weight:600;color:var(--text);margin-bottom:2px}.task{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f2f3f5}.task:last-child{border-bottom:none}.task .icon{width:40px;height:40px;border-radius:10px;background:#eef4ff;display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}.task .main{flex:1;min-width:0}.task .name{font-size:18px;font-weight:500}.task .desc{font-size:16px;color:var(--text-3);margin-top:2px}.task .act{flex:none}.tabs{display:flex;gap:8px;margin-bottom:12px}.tabs button{flex:1;height:34px;border-radius:999px;border:1px solid #e5e6eb;background:#fff;color:var(--text-2);font-size:17px}.tabs button.on{background:var(--brand);border-color:var(--brand);color:#fff}.rec{padding:12px 0;border-bottom:1px solid #f2f3f5}.rec:last-child{border-bottom:none}.rec .t1{display:flex;justify-content:space-between;font-size:18px}.rec .t2{font-size:16px;color:var(--text-3);margin-top:4px}.empty{text-align:center;color:var(--text-3);font-size:17px;padding:36px 0}.mask{position:fixed;inset:0;background:#0a162873;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.dialog{width:100%;max-width:320px;background:#fff;border-radius:14px;padding:20px 18px 16px}.dialog h3{margin:0 0 10px;font-size:20px;text-align:center}.dialog p{margin:0 0 16px;font-size:17px;color:var(--text-2);line-height:1.7;text-align:center}.dialog .acts{display:flex;gap:10px}.dialog .acts .btn{flex:1}.doc{font-size:18px;line-height:1.85;color:#333}.doc h1{font-size:24px;margin:0 0 6px}.doc h2{font-size:21px;margin:20px 0 8px}.doc h3{font-size:18px;margin:16px 0 6px}.doc p{margin:0 0 10px}.doc table{width:100%;border-collapse:collapse;margin:10px 0}.doc th,.doc td{border:1px solid #e5e6eb;padding:6px 8px;font-size:17px;text-align:left}.doc .ver{font-size:16px;color:var(--text-3);margin-bottom:14px}
