:root{--bg:#FCFBF8;--card:#FFFFFF;--card2:#F5F2E9;--line:#E8E4D8;--txt:#26231C;--soft:#6E695C;--dim:#9B9585;--gold:#A9812F;--gold-hi:#C0973B;--gold-dim:#CDB87F;--wash:rgba(169,129,47,.07);--green:#3E8E5C;--red:#C25450;--blue:#4A6FA5;}
  *{box-sizing:border-box;}
  body{margin:0;background:var(--bg);color:var(--txt);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;font-size:14.5px;line-height:1.7;-webkit-font-smoothing:antialiased;}
  a{color:var(--gold);text-decoration:none;} a:hover{color:var(--gold-hi);}
  .wrap{max-width:1240px;margin:0 auto;padding:0 20px;}
  header.hd{border-bottom:1px solid var(--line);padding:14px 0;background:var(--card);}
  header.hd .wrap{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
  header.hd h1{font-size:19px;margin:0;} header.hd .sub{font-size:12.5px;color:var(--dim);}
  .drop{border:2px dashed var(--gold-dim);background:var(--wash);border-radius:8px;padding:34px 20px;text-align:center;margin:22px 0;cursor:pointer;transition:background .15s;}
  .drop.on{background:rgba(169,129,47,.15);}
  .drop b{font-size:16px;}
  .btn{display:inline-block;padding:9px 22px;font-size:14px;border-radius:4px;border:1px solid var(--gold-dim);background:transparent;color:var(--gold);cursor:pointer;font-family:inherit;}
  .btn.pri{background:linear-gradient(135deg,#C89A3A,var(--gold) 55%,#8A6624);color:#FFFDF5;font-weight:700;border:none;}
  .btn:hover{filter:brightness(1.05);}
  .thres{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px;display:flex;gap:14px 22px;flex-wrap:wrap;align-items:center;margin:0 0 20px;}
  .thres label{font-size:13px;color:var(--soft);display:flex;align-items:center;gap:6px;}
  .thres input{width:64px;padding:5px 8px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--txt);font-family:inherit;font-size:13.5px;}
  .banner{display:none;background:var(--card);border:1px solid var(--gold-dim);border-left:4px solid var(--gold);border-radius:6px;padding:12px 18px;margin:0 0 18px;font-size:14px;}
  .kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0 0 22px;}
  .kpi{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px 16px;}
  .kpi .k{font-size:12px;color:var(--dim);letter-spacing:.05em;}
  .kpi .v{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;}
  .kpi .v.good{color:var(--green);} .kpi .v.bad{color:var(--red);} .kpi .v.gold{color:var(--gold);}
  .tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:2px solid var(--line);margin:26px 0 0;}
  .tab{padding:9px 18px;font-size:14px;cursor:pointer;border:none;background:none;color:var(--soft);font-family:inherit;border-bottom:3px solid transparent;margin-bottom:-2px;}
  .tab.on{color:var(--gold);border-bottom-color:var(--gold);font-weight:700;}
  .tab .n{font-size:11.5px;background:var(--card2);border-radius:9px;padding:0 7px;margin-left:5px;color:var(--soft);}
  .panel{display:none;padding:18px 0;} .panel.on{display:block;}
  .tbl-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:8px;}
  table.tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:860px;}
  .tbl th{position:sticky;top:0;background:var(--card2);text-align:right;padding:9px 12px;font-size:11.5px;color:var(--soft);border-bottom:1px solid var(--line);white-space:nowrap;cursor:pointer;}
  .tbl th:first-child,.tbl td:first-child{text-align:left;max-width:380px;}
  .tbl td{padding:8px 12px;border-bottom:1px solid #F1EEE5;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
  .tbl td:first-child{white-space:normal;word-break:break-all;}
  .tbl tr:last-child td{border-bottom:none;}
  .tbl .sug{color:var(--gold);font-weight:600;}
  .hint{font-size:13px;color:var(--dim);margin:10px 2px;}
  .brief-box{width:100%;min-height:260px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:1.8;color:var(--txt);white-space:pre;overflow:auto;}
  .row-act{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0;}
  .pill{font-size:12px;color:var(--soft);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px 12px;}
  footer{padding:34px 0;text-align:center;font-size:12.5px;color:var(--dim);border-top:1px solid var(--line);margin-top:44px;line-height:2;}
  #result{display:none;}
  .plc-note{background:var(--wash);border:1px dashed var(--gold-dim);border-radius:6px;padding:12px 16px;font-size:13.5px;margin:14px 0;}
