:root{
  --beige:#F8F4EC;
  --emerald:#1D5B49;
  --emerald-d:#164436;
  --brown:#20332D;
  --gold:#A77B2E;
  --line:#E7DECB;
  --muted:#7C7361;
  --card:#FFFFFF;
  --danger:#B4543B;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--beige);color:var(--brown);line-height:1.65;font-size:16px;
}
#app{max-width:680px;margin:0 auto;min-height:100vh;background:var(--beige)}
.screen{display:none;padding:24px 20px 60px}
.screen.active{display:block}
.wrap{max-width:680px;margin:0 auto}
.center{text-align:center;padding-top:80px}

/* 品牌 */
.brand{font-size:14px;letter-spacing:4px;color:var(--gold);font-weight:700;margin-bottom:18px}
.h-title{font-size:26px;line-height:1.35;color:var(--brown);margin:0 0 6px;font-weight:800}
.sub{color:var(--muted);margin:0 0 18px;font-size:15px}
.tips{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--muted);font-size:13px;margin-bottom:16px}

/* 字段 */
.field{margin-bottom:20px}
.field>label{display:block;font-weight:700;font-size:15px;margin-bottom:9px}
.req{color:var(--danger)}
.hint{color:var(--muted);font-weight:400;font-size:13px}
input[type=text],textarea{
  width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font-size:16px;
  background:#fff;color:var(--brown);font-family:inherit;outline:none;transition:border-color .15s;
}
input:focus,textarea:focus{border-color:var(--emerald)}
textarea{min-height:200px;resize:vertical;line-height:1.7}

/* 选项 */
.opts{display:flex;flex-wrap:wrap;gap:9px}
.opts.col{flex-direction:column}
.opt{
  border:1px solid var(--line);background:#fff;color:var(--brown);border-radius:999px;
  padding:10px 16px;font-size:15px;cursor:pointer;transition:all .15s;font-family:inherit;text-align:left;
}
.opts.col .opt{border-radius:12px}
.opt.selected{background:var(--emerald);color:#fff;border-color:var(--emerald);font-weight:600}

/* 按钮 */
.btn{
  width:100%;border:none;border-radius:14px;padding:15px;font-size:17px;font-weight:700;cursor:pointer;
  font-family:inherit;transition:opacity .15s,transform .05s;margin-top:6px;
}
.btn:active{transform:scale(.99)}
.btn.primary{background:var(--emerald);color:#fff}
.btn.primary:disabled{opacity:.5}
.btn.ghost{background:#fff;color:var(--emerald);border:1px solid var(--emerald)}
.btn.gold{background:var(--gold);color:#fff}
.back{background:none;border:none;color:var(--muted);font-size:14px;cursor:pointer;padding:0;margin-bottom:10px;font-family:inherit}

/* 计数 */
.counter{text-align:right;color:var(--muted);font-size:13px;margin:-6px 0 12px}

/* 加载 */
.spinner{width:42px;height:42px;border:4px solid var(--line);border-top-color:var(--emerald);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 18px}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-text{color:var(--muted)}

/* ===== 报告 ===== */
.report-hero{background:linear-gradient(160deg,var(--emerald),var(--emerald-d));color:#fff;border-radius:18px;padding:22px 20px;margin-bottom:18px}
.report-hero .who{font-size:13px;opacity:.85}
.report-hero h2{font-size:22px;margin:8px 0 0;font-weight:800;line-height:1.4}
.sec{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 16px;margin-bottom:14px}
.sec .sec-no{font-size:12px;color:var(--gold);font-weight:800;letter-spacing:2px}
.sec h3{font-size:18px;margin:4px 0 12px;color:var(--brown)}
.kicker{display:inline-block;background:#F1E9D6;color:var(--gold);font-size:12px;font-weight:700;border-radius:6px;padding:2px 8px;margin-bottom:8px}
.evi{background:#FBF7EE;border-left:3px solid var(--gold);padding:8px 10px;border-radius:6px;font-size:13px;color:var(--muted);margin:8px 0}
.asset{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px}
.asset .an{font-weight:700;color:var(--emerald)}
.flow{display:flex;flex-direction:column;gap:0}
.flow .node{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}
.flow .node.root{background:#FBEDE6;border-color:var(--danger);border-left:4px solid var(--danger)}
.flow .node .lab{font-size:12px;color:var(--muted);font-weight:700}
.flow .node .txt{font-size:15px;font-weight:600;color:var(--brown)}
.flow .arrow{text-align:center;color:var(--gold);font-size:18px;margin:-2px 0 6px}
.lev{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}
.lev .lk{font-size:13px;color:var(--gold);font-weight:700;margin-bottom:3px}
.lev.p1{background:#F1E9D6}
.card7{background:linear-gradient(160deg,#FFFDF7,#F6EEDB);border:2px solid var(--gold);border-radius:18px;padding:18px 16px;margin-bottom:14px}
.card7 .c7-no{font-size:12px;color:var(--gold);font-weight:800;letter-spacing:2px}
.card7 h3{font-size:19px;margin:4px 0 12px}
.c7row{margin-bottom:10px}
.c7row .ck{font-size:13px;font-weight:700;color:var(--emerald)}
.c7row .cv{font-size:15px}
.dont{display:flex;gap:10px;align-items:flex-start;border-top:1px dashed var(--line);padding:10px 0}
.dont .dx{color:var(--danger);font-weight:800}
.oq{background:#F4F8F6;border-radius:12px;padding:12px;margin-bottom:8px;border-left:3px solid var(--emerald)}
.concl{background:var(--brown);color:#fff;border-radius:16px;padding:18px 16px;font-size:18px;font-weight:800;line-height:1.5;margin-bottom:14px}
.foot-note{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;font-size:13px;color:var(--muted);margin-bottom:12px}
.foot-note h4{color:var(--brown);font-size:14px;margin:0 0 8px}
.foot-note .jenny{color:var(--brown);font-style:normal;line-height:1.7}
.two-path{display:flex;flex-direction:column;gap:12px;margin:18px 0}
.two-path .btn{padding:18px;font-size:17px}

/* 弹窗 */
.modal-mask{display:none;position:fixed;inset:0;background:rgba(32,51,45,.45);z-index:50;padding:20px;overflow:auto}
.modal-mask.active{display:flex;align-items:flex-start;justify-content:center}
.modal{background:var(--beige);border-radius:18px;padding:22px 18px;width:100%;max-width:520px;margin:auto;position:relative}
.modal h3{margin:0 0 6px;font-size:19px}
.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:26px;color:var(--muted);cursor:pointer;line-height:1}

/* toast */
.toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%);background:var(--brown);color:#fff;padding:11px 18px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:99;max-width:90%}
.toast.show{opacity:1}

/* Founder 后台 */
.admin-wrap{max-width:980px;margin:0 auto;padding:18px}
.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.admin-nav button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 14px;cursor:pointer;font-family:inherit;font-size:14px}
.admin-nav button.active{background:var(--emerald);color:#fff;border-color:var(--emerald)}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;text-align:center}
.stat .n{font-size:24px;font-weight:800;color:var(--emerald)}
.stat .l{font-size:12px;color:var(--muted)}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left}
.tbl th{color:var(--muted);font-weight:700}
.tag{display:inline-block;background:#F1E9D6;color:var(--gold);border-radius:6px;padding:1px 7px;font-size:12px}
.tag.g{background:#E7F1EC;color:var(--emerald)}
.tag.r{background:#FBEDE6;color:var(--danger)}
.detail-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}
.mask-key{letter-spacing:2px}
.form-row{display:flex;gap:10px;flex-wrap:wrap}
.form-row>div{flex:1;min-width:160px}
.form-row label{font-size:13px;color:var(--muted);display:block;margin-bottom:4px}
.form-row input,.form-row select{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px;font-size:14px;font-family:inherit}
.deliver{background:#F4F8F6;border:1px solid var(--emerald);border-radius:14px;padding:14px;margin-bottom:12px}
.deliver h4{margin:0 0 8px;color:var(--emerald)}
@media (max-width:520px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
