:root{--c-primary: #16a34a;--c-primary-deep: #166534;--c-primary-faint: #e7f6ec;--c-primary-soft: #16a34a;--c-accent: #16a34a;--c-accent-deep: #15803d;--c-accent-soft: #e7f6ec;--c-bg: #eef0f6;--c-card: #ffffff;--c-ink-1: #101528;--c-ink-2: #374151;--c-ink-3: #9aa1b2;--c-ink: #101528;--c-line: #eef2ef;--c-border: #eef2ef;--c-pass: #16a34a;--c-fail: #dc2626;--primary: var(--c-primary);--accent: var(--c-accent);--bg: var(--c-bg);--card: var(--c-card);--text: var(--c-ink-1);--text-light: var(--c-ink-3);--border: var(--c-line);--success: var(--c-pass);--danger: var(--c-fail);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--c-bg);color:var(--c-ink-1);-webkit-font-smoothing:antialiased;max-width:500px;margin:0 auto}.page{min-height:100vh;padding-bottom:70px}.page.has-tabbar{padding-bottom:80px}.page-body{padding:0 16px 16px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.navbar{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(160deg,#134e3a,#166534 55%,#15803d);color:#fff;position:sticky;top:0;z-index:100}.navbar.dark{background:linear-gradient(160deg,#134e3a,#166534 55%,#15803d);position:sticky;top:0;z-index:100;overflow:hidden}.navbar.dark:before{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:#ffffff12;pointer-events:none}.navbar.dark:after{content:"";position:absolute;right:30px;bottom:-60px;width:130px;height:130px;border-radius:50%;background:#ffffff0d;pointer-events:none}.navbar-title{font-size:17px;font-weight:800;flex:1}.navbar-sub{display:block;width:100%;font-size:12px;opacity:.7;margin-top:2px}.navbar{flex-wrap:wrap}.nav-back{width:32px;height:32px;border-radius:10px;background:#ffffff29;border:none;color:#fff;font-size:20px;cursor:pointer;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;flex-shrink:0}.page-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(160deg,#134e3a,#166534 55%,#15803d);color:#fff;position:sticky;top:0;z-index:100}.page-header .back{font-size:20px;cursor:pointer;background:#ffffff29;border:none;color:#fff;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.page-header .title{font-size:17px;font-weight:800;flex:1}.card{background:var(--c-card);border-radius:18px;padding:16px;margin:0 0 12px;box-shadow:0 4px 14px #14281e0f}.btn{display:block;width:100%;padding:15px;border:none;border-radius:999px;font-size:15.5px;font-weight:800;cursor:pointer;text-align:center;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary,.btn-primary{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;box-shadow:0 10px 24px #16a34a59}.btn.primary:active,.btn-primary:active{opacity:.85}.btn.accent,.btn-accent{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;box-shadow:0 10px 24px #16a34a59}.btn.outline,.btn-outline{background:#fff;color:var(--c-primary);border:1.5px solid var(--c-primary)}.btn.ghost{background:var(--c-primary-faint);color:var(--c-primary);border:none}.btn.danger,.btn-danger{background:#fff;color:var(--c-fail);border:1.5px solid var(--c-fail)}.btn.block{width:100%}.btn.gold,.btn-gold{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;box-shadow:0 10px 24px #16a34a59}.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600}.tag.photo,.tag-photo{background:#e7f6ec;color:#16a34a}.tag.text,.tag-text{background:#eef0f6;color:#374151}.tag.pass,.tag-pass{background:#e7f6ec;color:#16a34a}.tag.fail,.tag-fail{background:#fdeaea;color:#dc2626}.tag.pending,.tag-pending,.tag.muted{background:#eef0f6;color:#9aa1b2}.tag.warn{background:#fdf1e5;color:#c2621b}.empty{text-align:center;padding:60px 20px;color:var(--c-ink-3)}.empty-icon{display:block;font-size:48px;margin-bottom:12px}.empty-text{display:block;font-size:14px}.loading-block{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 0;color:var(--c-ink-3);font-size:14px}.spinner{display:inline-block;width:22px;height:22px;border-radius:50%;border:3px solid var(--c-primary-faint);border-top-color:var(--c-primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-block{text-align:center;padding:40px 20px;color:var(--c-fail);font-size:14px}.pressable{transition:transform .12s,box-shadow .12s}.pressable:active{transform:scale(.97);box-shadow:0 1px 2px #00000014}.reveal{animation:revealUp .35s ease both}@keyframes revealUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.input{width:100%;padding:12px;border:1.5px solid var(--c-line);border-radius:12px;font-size:15px;outline:none;background:#fff}.input:focus{border-color:var(--c-primary)}.field{margin-bottom:16px}.field-label{display:block;font-size:13px;font-weight:700;color:var(--c-ink-1);margin-bottom:6px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.hero-kicker{font-size:11px;letter-spacing:.15em;opacity:.7;text-transform:uppercase;font-weight:600}.icon-bubble{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--c-primary-faint);flex-shrink:0}.section-label{font-size:14px;font-weight:700;color:var(--c-primary);margin:16px 0 8px}
