/* 银析通 · 流水解析 H5 —— 上传态（落地页）新皮肤
   作用域全部限定在 #uploadView 内，绝不影响 结果态/进度态/错误态。
   加载顺序：必须在 style.css 之后 <link>，同特异性时后者胜。
   单一浅色主题（与结果页一致，票据/文档质感的刻意选择）。 */

#uploadView{
  --lp-ground:#EDF1F2; --lp-surface:#FFFFFF; --lp-surface2:#F5F8F8;
  --lp-ink:#0C1A24; --lp-muted:#586B78; --lp-faint:#8496A1; --lp-line:#D4DEE1;
  --lp-accent:#0C6E78; --lp-accent-bright:#0E97A4; --lp-accent-ink:#0A464D;
  --lp-high:#CE4A45; --lp-caution:#CE8A2C; --lp-watch:#5E7C97; --lp-neutral:#93A3AB; --lp-good:#2E9E6B;
  --lp-mono:ui-monospace,"SF Mono","Cascadia Code","Roboto Mono",Consolas,monospace;
  min-height:100vh; background:var(--lp-ground); color:var(--lp-ink);
}
#uploadView .lp{ max-width:468px; margin:0 auto; background:var(--lp-surface); min-height:100vh;
  border-left:1px solid var(--lp-line); border-right:1px solid var(--lp-line); overflow:hidden; }
@media(max-width:480px){ #uploadView .lp{ border-left:none; border-right:none; } }
#uploadView .num{ font-family:var(--lp-mono); font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
#uploadView .lp-ey{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--lp-accent); font-weight:600; }

/* header */
#uploadView .lp-hd{ display:flex; align-items:center; justify-content:space-between;
  padding:14px 22px; border-bottom:1px solid var(--lp-line); position:sticky; top:0; z-index:20;
  background:rgba(255,255,255,.88); backdrop-filter:blur(8px); }
#uploadView .lp-brand{ display:flex; align-items:center; gap:9px; }
#uploadView .lp-mark{ width:26px; height:26px; border:1.5px solid var(--lp-accent); border-radius:6px;
  display:grid; place-items:center; color:var(--lp-accent); }
#uploadView .lp-mark svg{ width:15px; height:15px; }
#uploadView .lp-brand b{ font-size:15px; font-weight:800; letter-spacing:.02em; display:block; line-height:1.1; }
#uploadView .lp-brand span{ font-size:10.5px; color:var(--lp-faint); display:block; line-height:1; margin-top:2px; letter-spacing:.04em; }
#uploadView .lp-live{ display:flex; align-items:center; gap:6px; font-size:11px; color:var(--lp-muted); }
#uploadView .lp-live i{ width:7px; height:7px; border-radius:50%; background:var(--lp-good);
  animation:lpPulse 2.4s infinite; }
@keyframes lpPulse{ 0%{ box-shadow:0 0 0 0 rgba(46,158,107,.5);} 70%{ box-shadow:0 0 0 7px transparent;} 100%{ box-shadow:0 0 0 0 transparent;} }

/* hero */
#uploadView .lp-hero{ padding:30px 22px 26px; position:relative; }
#uploadView .lp-hero::before{ content:""; position:absolute; inset:0; z-index:0; opacity:.5;
  background:repeating-linear-gradient(115deg,transparent 0 13px,rgba(12,110,120,.06) 13px 14px);
  -webkit-mask:linear-gradient(180deg,#000,transparent 78%); mask:linear-gradient(180deg,#000,transparent 78%); pointer-events:none; }
#uploadView .lp-hero>*{ position:relative; z-index:1; }
#uploadView .lp-h1{ font-size:30px; line-height:1.22; font-weight:800; letter-spacing:-.01em; text-wrap:balance; margin:12px 0 10px; }
#uploadView .lp-h1 em{ font-style:normal; color:var(--lp-accent); }
#uploadView .lp-sub{ font-size:14px; color:var(--lp-muted); max-width:34ch; margin:0; line-height:1.6; }

/* scan-target upload box (#dropZone) */
#uploadView .drop-zone{ position:relative; margin:22px 0 0; padding:30px 20px 24px; display:block; text-align:center;
  background:var(--lp-surface2); border:1px dashed rgba(12,110,120,.45); border-radius:14px; cursor:pointer;
  transition:border-color .2s, background .2s; }
#uploadView .drop-zone.dragover,
#uploadView .drop-zone:hover{ border-color:var(--lp-accent); background:rgba(12,110,120,.05); }
#uploadView .lp-corner{ position:absolute; width:16px; height:16px; border:2px solid var(--lp-accent); }
#uploadView .lp-corner.tl{ top:9px; left:9px; border-right:none; border-bottom:none; }
#uploadView .lp-corner.tr{ top:9px; right:9px; border-left:none; border-bottom:none; }
#uploadView .lp-corner.bl{ bottom:9px; left:9px; border-right:none; border-top:none; }
#uploadView .lp-corner.br{ bottom:9px; right:9px; border-left:none; border-top:none; }
#uploadView .lp-sweep{ position:absolute; left:0; right:0; height:34px; top:-34px;
  background:linear-gradient(180deg,transparent,rgba(14,151,164,.22),transparent);
  animation:lpScan 4.2s cubic-bezier(.6,0,.4,1) infinite; pointer-events:none; }
@keyframes lpScan{ 0%{ top:-34px; opacity:0;} 12%{opacity:1;} 88%{opacity:1;} 100%{ top:100%; opacity:0;} }
#uploadView .lp-updoc{ width:38px; height:46px; margin:0 auto 12px; color:var(--lp-accent); }
#uploadView .lp-dz-main{ font-size:16px; font-weight:700; }
#uploadView .lp-dz-hint{ font-size:12px; color:var(--lp-faint); margin-top:5px; }
#uploadView .drop-zone .dz-file{ font-size:13px; color:var(--lp-accent); font-weight:700; margin-top:12px; word-break:break-all; }

/* pwd + go */
#uploadView .lp-pwd{ margin-top:16px; text-align:left; }
#uploadView .lp-label{ display:block; font-size:12.5px; color:var(--lp-muted); font-weight:600; margin:0 0 6px; }
#uploadView .lp-input{ width:100%; padding:12px 14px; border:1px solid var(--lp-line); border-radius:10px;
  font-size:14px; background:var(--lp-surface2); color:var(--lp-ink); }
#uploadView .lp-input:focus{ outline:none; border-color:var(--lp-accent); background:var(--lp-surface); }
#uploadView .lp-go{ width:100%; margin-top:18px; padding:15px; border:none; border-radius:12px;
  background:var(--lp-accent); color:#fff; font-size:16px; font-weight:700; cursor:pointer;
  box-shadow:0 6px 18px rgba(12,110,120,.34); transition:transform .12s, background .2s;
  font-family:inherit; }
#uploadView .lp-go:hover:not(:disabled){ background:var(--lp-accent-bright); }
#uploadView .lp-go:active:not(:disabled){ transform:translateY(1px); }
#uploadView .lp-go:disabled{ background:#B8C6CC; box-shadow:none; cursor:not-allowed; }
/* 免费次数用完 · 引导进小程序 */
#uploadView .quota-wall{
  margin-top:16px; padding:20px 18px; border-radius:14px; text-align:center;
  background:var(--lp-surface2); border:1px solid rgba(206,138,44,.45);
}
#uploadView .qw-title{ font-size:16px; font-weight:800; color:var(--lp-caution); }
#uploadView .qw-msg{ font-size:13px; color:var(--lp-muted); margin-top:8px; line-height:1.6; }
#uploadView .qw-qr{ width:150px; height:150px; margin:14px auto 0; display:block; border-radius:10px; background:#fff; }
#uploadView .qw-tip{ font-size:12px; color:var(--lp-faint); margin-top:10px; line-height:1.6; }

#uploadView .lp-seemore{ display:block; text-align:center; margin-top:12px; color:var(--lp-accent);
  font-size:13.5px; font-weight:600; text-decoration:none; }
#uploadView .lp-seemore:hover{ text-decoration:underline; }

/* trust bar */
#uploadView .lp-trustbar{ display:flex; flex-wrap:wrap; gap:7px 14px; justify-content:center;
  margin-top:16px; padding-top:15px; border-top:1px solid var(--lp-line); }
#uploadView .lp-tb{ display:inline-flex; align-items:center; gap:5px; font-size:11.5px; color:var(--lp-muted); }
#uploadView .lp-tb svg{ width:13px; height:13px; color:var(--lp-accent); }
#uploadView .lp-beian{ text-align:center; font-size:10.5px; color:var(--lp-faint); margin-top:12px; line-height:1.6; }

/* section */
#uploadView .lp-sec{ padding:30px 22px; border-top:1px solid var(--lp-line); }
#uploadView .lp-sec-t{ font-size:20px; font-weight:800; letter-spacing:-.01em; margin:8px 0 4px; text-wrap:balance; }
#uploadView .lp-sec-d{ font-size:13px; color:var(--lp-muted); margin:0 0 18px; line-height:1.6; }

/* sample report */
#uploadView #lpSample{ background:var(--lp-surface2); }
#uploadView .lp-report{ background:var(--lp-surface); border:1px solid var(--lp-line); border-radius:14px; overflow:hidden; }
#uploadView .lp-rep-hd{ display:flex; align-items:center; justify-content:space-between; padding:12px 15px;
  border-bottom:1px solid var(--lp-line); background:rgba(12,110,120,.06); }
#uploadView .lp-rep-hd .rt{ font-size:12.5px; font-weight:700; }
#uploadView .lp-demo{ font-size:10px; letter-spacing:.06em; color:var(--lp-caution); font-weight:600;
  border:1px solid rgba(206,138,44,.45); border-radius:20px; padding:2px 9px; }
#uploadView .lp-verdict{ display:flex; gap:11px; padding:15px; border-bottom:1px solid var(--lp-line); }
#uploadView .lp-verdict .vi{ flex:none; width:4px; border-radius:4px; background:var(--lp-caution); }
#uploadView .lp-verdict p{ margin:0; font-size:13.5px; line-height:1.55; }
#uploadView .lp-verdict b{ color:var(--lp-caution); }
#uploadView .lp-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--lp-line); }
#uploadView .lp-kpi{ background:var(--lp-surface); padding:13px 15px; }
#uploadView .lp-kpi .k{ font-size:11px; color:var(--lp-faint); }
#uploadView .lp-kpi .v{ font-size:19px; font-weight:700; margin-top:3px; }
#uploadView .lp-kpi .v small{ font-size:12px; color:var(--lp-muted); font-weight:600; margin-left:2px; }
#uploadView .lp-chips{ display:flex; gap:6px; padding:13px 15px; border-top:1px solid var(--lp-line); flex-wrap:wrap; }
#uploadView .lp-chip{ display:flex; align-items:center; gap:6px; font-size:12px; padding:5px 10px; border-radius:8px;
  background:var(--lp-surface2); border:1px solid var(--lp-line); }
#uploadView .lp-chip i{ width:8px; height:8px; border-radius:2px; }
#uploadView .lp-chip b{ font-family:var(--lp-mono); font-variant-numeric:tabular-nums; }
#uploadView .lp-chart{ padding:15px; border-top:1px solid var(--lp-line); }
#uploadView .lp-chart .cl{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
#uploadView .lp-chart .cl span{ font-size:12px; font-weight:600; }
#uploadView .lp-legend{ display:flex; gap:12px; font-size:10.5px; color:var(--lp-muted); }
#uploadView .lp-legend i{ display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:4px; vertical-align:-1px; }
#uploadView .lp-bars{ display:flex; align-items:flex-end; gap:6px; height:96px; }
#uploadView .lp-bar{ flex:1; display:flex; align-items:flex-end; justify-content:center; gap:2px; height:100%; }
#uploadView .lp-bar i{ width:5px; border-radius:2px 2px 0 0; background:var(--lp-accent); }
#uploadView .lp-bar i.e{ background:var(--lp-neutral); }
#uploadView .lp-cps{ padding:4px 15px 15px; border-top:1px solid var(--lp-line); }
#uploadView .lp-cp{ display:flex; align-items:center; justify-content:space-between; padding:9px 0;
  border-bottom:1px solid var(--lp-line); font-size:13px; }
#uploadView .lp-cp:last-child{ border-bottom:none; }
#uploadView .lp-cp .cn{ display:flex; align-items:center; gap:9px; min-width:0; }
#uploadView .lp-cp .rank{ font-family:var(--lp-mono); font-size:11px; color:var(--lp-faint); width:16px; flex:none; }
#uploadView .lp-cp .nm{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#uploadView .lp-cp .amt{ font-family:var(--lp-mono); font-variant-numeric:tabular-nums; font-weight:600; flex:none; padding-left:12px; }

/* trust cards */
#uploadView .lp-tgrid{ display:grid; gap:10px; }
#uploadView .lp-tcard{ display:flex; gap:12px; padding:15px; background:var(--lp-surface2);
  border:1px solid var(--lp-line); border-radius:12px; }
#uploadView .lp-tcard .ti{ flex:none; width:34px; height:34px; border-radius:9px; display:grid; place-items:center;
  background:rgba(12,110,120,.12); color:var(--lp-accent); }
#uploadView .lp-tcard .ti svg{ width:18px; height:18px; }
#uploadView .lp-tcard h4{ margin:0; font-size:14px; font-weight:700; }
#uploadView .lp-tcard p{ margin:3px 0 0; font-size:12.5px; color:var(--lp-muted); line-height:1.5; }

/* capability */
#uploadView .lp-caps{ display:grid; gap:0; }
#uploadView .lp-cap{ display:flex; align-items:flex-start; gap:11px; padding:12px 0; border-bottom:1px solid var(--lp-line); }
#uploadView .lp-cap:last-child{ border-bottom:none; }
#uploadView .lp-cap .cn{ font-size:13.5px; font-weight:700; flex:none; width:96px; }
#uploadView .lp-cap .cv{ font-size:13px; color:var(--lp-muted); line-height:1.55; }
#uploadView .lp-rd{ display:flex; flex-wrap:wrap; gap:8px; margin-top:5px; }
#uploadView .lp-rd span{ display:inline-flex; align-items:center; gap:5px; font-size:12px; color:var(--lp-muted); }
#uploadView .lp-rd i{ width:9px; height:9px; border-radius:50%; }

/* 小程序功能全景 */
#uploadView .feat-grid{ display:grid; gap:10px; }
#uploadView .feat{
  display:flex; gap:12px; padding:14px 15px; border-radius:12px;
  background:var(--lp-surface2); border:1px solid var(--lp-line);
}
#uploadView .feat-ic{
  flex:none; width:36px; height:36px; border-radius:10px; display:grid; place-items:center;
  background:rgba(12,110,120,.12); color:var(--lp-accent);
}
#uploadView .feat-ic svg{ width:19px; height:19px; }
#uploadView .feat-tx{ min-width:0; }
#uploadView .feat-tx h4{
  margin:0; font-size:14.5px; font-weight:700; display:flex; align-items:center; gap:7px; flex-wrap:wrap;
}
#uploadView .feat-tx p{ margin:4px 0 0; font-size:12.5px; color:var(--lp-muted); line-height:1.55; }
#uploadView .feat-badge{
  font-size:10px; font-weight:600; letter-spacing:.02em; padding:1px 7px; border-radius:20px;
  background:rgba(12,110,120,.12); color:var(--lp-accent); border:1px solid rgba(12,110,120,.28);
}

/* conversion */
#uploadView .lp-conv{ background:var(--lp-accent-ink); color:#EAF6F7; border-radius:16px; padding:22px;
  display:flex; gap:16px; align-items:center; }
#uploadView .lp-conv h3{ margin:0 0 5px; font-size:16px; font-weight:800; color:#fff; }
#uploadView .lp-conv p{ margin:0; font-size:12.5px; color:#B6D9DC; line-height:1.5; }
#uploadView .lp-qr{ flex:none; width:78px; height:78px; border-radius:11px; background:#fff; display:grid;
  place-items:center; color:var(--lp-accent); font-size:10px; text-align:center; line-height:1.3; padding:6px; }
#uploadView .lp-qr svg{ width:46px; height:46px; }
#uploadView .lp-qr img{ width:100%; height:100%; object-fit:contain; border-radius:8px; }

/* history (functional block, keep style.css .uh-* but sit in a section) */
#uploadView .up-history.lp-sec{ background:var(--lp-surface2); }

/* footer + advanced */
#uploadView .lp-ft{ padding:24px 22px 34px; border-top:1px solid var(--lp-line); background:var(--lp-surface2); }
#uploadView .lp-ft .co{ font-size:12px; color:var(--lp-muted); font-weight:600; }
#uploadView .lp-ft .lic{ font-size:11px; color:var(--lp-faint); margin-top:3px; }
#uploadView .lp-ft .disc{ font-size:11px; color:var(--lp-faint); line-height:1.6; margin-top:12px;
  padding-top:12px; border-top:1px solid var(--lp-line); }
#uploadView .lp-adv{ padding:16px 22px 30px; }
#uploadView .lp-adv summary{ font-size:12px; color:var(--lp-faint); cursor:pointer; }
#uploadView .lp-adv .lp-input{ margin-top:8px; }

@media (prefers-reduced-motion:reduce){
  #uploadView .lp-sweep{ display:none; } #uploadView .lp-live i{ animation:none; }
  #uploadView .lp-go, #uploadView .drop-zone{ transition:none; }
}
