
  :root{
    --brand:#E8531A;          /* 柴火火橙 */
    --brand-strong:#C2410C;   /* 深炭火 */
    --brand-soft:#FBE9DF;     /* 浅橙底 */
    --brand-tint:#FCEFE6;
    --ink:#211C18;            /* 暖近黑 */
    --ink-2:#5B524B;          /* 次级文字 */
    --paper:#FBF7F2;          /* 暖白底 */
    --surface:#FFFFFF;
    --line:#ECE3D8;
    --jinko:#1E5BB8;          /* 晶科蓝 */
    --owner:#B45309;          /* 业主琥珀 */
    --benefit:#1F7A4D;        /* 受益绿 */
    --neutral:#6B7280;        /* 中性灰 */
    --shadow:0 6px 24px rgba(33,28,24,.08);
    --radius:14px;
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }
  /* ---------- 布局骨架 ---------- */
  .app{display:flex;min-height:100vh;}
  /* 侧边导航（桌面） */
  .sidebar{
    width:248px;flex:0 0 248px;
    background:linear-gradient(180deg,#241a14,#1a130e);
    color:#F3E9E1;position:sticky;top:0;height:100vh;
    display:flex;flex-direction:column;padding:22px 16px;
  }
  .brandmark{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
  .brandmark svg{width:34px;height:34px;flex:0 0 34px;}
  .brandmark .bn{font-weight:800;font-size:15px;letter-spacing:.5px;color:#fff;}
  .brandmark .be{font-size:11px;color:#C9A892;letter-spacing:1.5px;}
  .side-sub{font-size:11.5px;color:#B79A86;margin:2px 0 18px;padding-left:44px;}
  .nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;}
  .nav a{
    display:flex;align-items:center;gap:10px;
    padding:10px 12px;border-radius:10px;color:#D8C7B8;
    text-decoration:none;font-size:13.5px;cursor:pointer;
    border-left:3px solid transparent;transition:.18s;
  }
  .nav a .no{font-size:11px;opacity:.7;width:20px;flex:0 0 20px;text-align:center;}
  .nav a:hover{background:rgba(232,83,26,.16);color:#fff;}
  .nav a.active{background:rgba(232,83,26,.22);color:#fff;border-left-color:var(--brand);}
  .side-foot{margin-top:auto;font-size:11px;color:#9c8472;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}

  /* 主区 */
  .main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;}
  .topbar{
    display:none;align-items:center;gap:12px;
    padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--line);
    position:sticky;top:0;z-index:30;
  }
  .topbar .menu{background:var(--brand);color:#fff;border:0;border-radius:9px;width:40px;height:40px;font-size:18px;cursor:pointer;}
  .topbar .tt{font-weight:700;font-size:14px;}
  .deck{flex:1;overflow-y:auto;scroll-behavior:smooth;}
  .page{display:block;padding:26px 22px 30px;max-width:920px;margin:0 auto;animation:fade .35s ease;}
  

  
  
  @keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

  /* 翻页条 */
  .pager{display:flex;align-items:center;justify-content:space-between;gap:12px;
    padding:14px 22px;border-top:1px solid var(--line);background:var(--surface);position:sticky;bottom:0;}
  .pager button{
    background:var(--surface);border:1px solid var(--line);color:var(--ink);
    padding:9px 18px;border-radius:10px;font-size:13.5px;cursor:pointer;transition:.18s;
  }
  .pager button:hover:not(:disabled){border-color:var(--brand);color:var(--brand);}
  .pager button:disabled{opacity:.4;cursor:not-allowed;}
  .pager .prog{font-size:12.5px;color:var(--ink-2);}

  /* ---------- 封面 ---------- */
  .cover{
    min-height:calc(100vh - 0px);display:flex;flex-direction:column;justify-content:center;
    background:
      radial-gradient(120% 90% at 85% 10%,rgba(232,83,26,.20),transparent 55%),
      radial-gradient(100% 80% at 10% 100%,rgba(30,91,184,.14),transparent 55%),
      linear-gradient(160deg,#2a1d14,#1c130d);
    color:#fff;padding:48px 28px;position:relative;overflow:hidden;
  }
  .cover .flame{position:absolute;right:-40px;top:-30px;width:260px;opacity:.18;}
  .cover .ctag{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:999px;font-size:12.5px;color:#F6D9C8;width:fit-content;}
  .cover .ctag svg{width:22px;height:22px;}
  .cover h1{font-size:clamp(28px,7vw,46px);line-height:1.18;margin:26px 0 10px;font-weight:800;letter-spacing:.5px;}
  .cover .lead2{font-size:clamp(14px,3.6vw,18px);color:#E9D8CB;max-width:640px;}
  .cover .meta{margin-top:30px;display:grid;gap:12px;max-width:560px;}
  .cover .meta .row{display:flex;gap:12px;align-items:baseline;border-top:1px solid rgba(255,255,255,.12);padding-top:10px;}
  .cover .meta .k{color:#F6D9C8;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;width:84px;flex:0 0 84px;background:transparent;padding:0;border-radius:0;margin-left:0;opacity:.9;}
  .cover .meta .v{font-size:14px;color:#fff;}
  .cover .foot{margin-top:34px;font-size:12px;color:#9c8472;}

  /* ---------- 通用排版 ---------- */
  h2.sec{font-size:23px;color:var(--ink);margin:0 0 4px;font-weight:800;display:flex;align-items:center;gap:12px;}
  h2.sec .secno{
    background:var(--brand);color:#fff;font-size:14px;font-weight:800;
    width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;
  }
  .sec-title{color:var(--brand-strong);font-size:13.5px;font-weight:600;margin:0 0 18px;}
  h3.blk{font-size:16px;color:var(--ink);margin:26px 0 10px;font-weight:700;border-left:4px solid var(--brand);padding-left:10px;}
  .lead{font-size:15px;color:var(--ink);margin:0 0 18px;}
  p{margin:0 0 14px;font-size:14.5px;color:var(--ink);}
  strong{color:var(--brand-strong);}
  .k{display:inline-block;font-size:11px;color:var(--ink-2);background:var(--brand-soft);border-radius:6px;padding:1px 7px;margin-left:6px;}

  /* 卡片网格 */
  .summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:6px 0 18px;}
  .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);}
  .card .t{font-size:12px;color:var(--ink-2);margin-bottom:4px;}
  .card .v{font-size:24px;font-weight:800;color:var(--brand);}
  .card .v small{font-size:12px;color:var(--ink-2);font-weight:600;}

  /* 表格 */
  table{width:100%;border-collapse:collapse;margin:8px 0 16px;font-size:13.5px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
  thead th{background:var(--brand-soft);color:var(--brand-strong);text-align:left;padding:10px 12px;font-weight:700;font-size:12.5px;border-bottom:1px solid var(--line);}
  tbody td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink);}
  tbody tr:last-child td{border-bottom:0;}
  tbody tr:hover{background:#FFF8F3;}

  /* 提示框 */
  .callout{border-left:4px solid var(--brand);background:var(--brand-tint);padding:12px 14px;border-radius:10px;margin:12px 0;font-size:13.5px;}
  .callout.warn{border-left-color:var(--owner);background:#FBF1E3;}
  .callout.key{border-left-color:var(--jinko);background:#EEF3FB;}
  .callout b{color:var(--brand-strong);}

  /* 异议 */
  .qa{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0;box-shadow:var(--shadow);}
  .qa .q{font-weight:700;color:var(--ink);font-size:14px;margin-bottom:4px;}
  .qa .a{font-size:13.5px;color:var(--ink-2);}
  .pill{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;color:#fff;}
  .pill.jk{background:var(--jinko);}
  .pill.ch{background:var(--brand);}

  /* 卫星图 */
  .sat{width:100%;border-radius:var(--radius);border:1px solid var(--line);margin:6px 0 8px;box-shadow:var(--shadow);display:block;}
  .imgcap{font-size:12px;color:var(--ink-2);margin:0 0 14px;}

  /* 路径图 */
  .flowwrap{margin:10px 0 22px;}
  .flowtitle{font-size:13.5px;font-weight:700;color:var(--ink);margin:14px 0 6px;}
  .flow{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:10px;overflow-x:auto;box-shadow:var(--shadow);}
  .flow svg{display:block;width:100%;min-width:600px;height:auto;}
  .legend{display:flex;flex-wrap:wrap;gap:14px;margin:4px 0 6px;font-size:12px;color:var(--ink-2);}
  .legend span{display:inline-flex;align-items:center;gap:6px;}
  .legend i{width:12px;height:12px;border-radius:3px;display:inline-block;}

  /* 抽屉（移动端导航） */
  .drawer-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:40;}
  .drawer-bg.open{display:block;}

  @media (max-width:880px){
    .sidebar{display:none;}
    .topbar{display:flex;}
    .page{padding:20px 16px 24px;}
    .summary-grid{grid-template-columns:1fr;}
    .cover{padding:40px 20px;}
  }
  @media (min-width:881px){
    .drawer-bg{display:none !important;}
  }

  /* 打印：展开为完整报告 */
  @media print{
    .sidebar,.topbar,.pager,.drawer-bg{display:none !important;}
    .app{display:block;}
    .deck{overflow:visible;}
    .page{display:block !important;max-width:none;padding:0 0 18px;page-break-after:always;animation:none;}
    .cover{page-break-after:always;min-height:auto;padding:40px 0;}
    body{background:#fff;}
    table,tbody tr:hover{box-shadow:none;}
  }

  /* 翻页按钮（链接，无需 JS） */
  .pager a.pbtn{background:var(--surface);border:1px solid var(--line);color:var(--ink);
    padding:9px 18px;border-radius:10px;font-size:13.5px;cursor:pointer;text-decoration:none;transition:.18s;white-space:nowrap;}
  .pager a.pbtn:hover{border-color:var(--brand);color:var(--brand);}
  .pager a.pbtn.disabled{opacity:.4;pointer-events:none;cursor:not-allowed;}

  /* 移动端目录：原生 <details>，无需 JS */
  .mnav{display:none;position:relative;}
  .mnav summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
    background:var(--brand);color:#fff;border:none;border-radius:9px;padding:9px 14px;font-size:14px;font-weight:700;}
  .mnav summary::-webkit-details-marker{display:none;}
  .mnav .nav{display:none;position:absolute;top:calc(100% + 8px);left:0;min-width:240px;
    background:linear-gradient(180deg,#241a14,#1a130e);border:1px solid rgba(255,255,255,.12);
    border-radius:12px;padding:8px;box-shadow:0 12px 30px rgba(0,0,0,.25);z-index:60;}
  .mnav[open] .nav{display:flex;}
  .mnav .nav a{color:#D8C7B8;}
  @media (max-width:880px){
    .mnav{display:block;}
    .topbar{gap:10px;}
  }
