    @font-face{
      font-family:"Alibaba PuHuiTi";
      src:url("/fonts/AlibabaPuHuiTi-2-55-Regular.woff2") format("woff2");
      font-weight:400;font-style:normal;font-display:swap
    }
    @font-face{
      font-family:"Alibaba PuHuiTi";
      src:url("/fonts/AlibabaPuHuiTi-2-85-Bold.woff2") format("woff2");
      font-weight:700;font-style:normal;font-display:swap
    }
    :root{
      --paper:#f6f2ea;
      --paper-2:#efe8da;
      --ink:#211d18;
      --ink-soft:#5a5247;
      --red:#9e1c1c;
      --red-deep:#6f1212;
      --red-bright:#c0392b;
      --gold:#bd9a56;
      --gold-soft:#d8c08a;
      --line:#e3d9c6;
      --shadow:0 10px 30px rgba(40,20,20,.08);
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{font-family:"Alibaba PuHuiTi","PingFang SC","Microsoft YaHei","微软雅黑","Noto Sans CJK SC",sans-serif;color:var(--ink);background:var(--paper);line-height:1.75;-webkit-font-smoothing:antialiased}
    a{color:inherit;text-decoration:none}
    .wrap{max-width:1180px;margin:0 auto;padding:0 24px}

    
    .content img,.article-main img,.branch-intro img,.card img,
    .content video,.article-main video,.branch-intro video,.card video,
    .content iframe,.article-main iframe,.branch-intro iframe,.card iframe{max-width:100%;height:auto;display:block;margin:0 auto}
    .content table,.card table,.article-main table{border-collapse:collapse !important;border-spacing:0 !important;width:100% !important;margin:14px 0;table-layout:auto !important}
    .content table.layout-fixed{table-layout:fixed !important}
    .content table td,.content table th,.card table td,.card table th,.article-main table td,.article-main table th{border:1px solid #ccc;padding:6px 10px;text-align:left;line-height:1.6;vertical-align:top}
    .content a{color:var(--red);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(158,28,28,.4);transition:color .15s,text-decoration-color .15s}
    .content a:hover{color:var(--red-deep);text-decoration-color:currentColor}
    /* 段落间距（2026-09-12 补）：全局重置 *{margin:0} 把 <p> 的默认外边距清零了，
       而此前没有任何规则给正文段落补回间距 → 后台/公众号粘贴的「一段一个 <p>」正文
       段与段完全贴在一起（用户反馈 /article/1152.html 段间过近）。
       取 14px：与表格 margin:14px 同节奏；末段不留多余间距。 */
    .content p,.article-main p,.branch-intro p{margin:0 0 14px}
    .content p:last-child,.article-main p:last-child,.branch-intro p:last-child{margin-bottom:0}
    .content h1,.content h2,.content h3,.content h4,.content h5,.content h6{font-family:inherit;line-height:1.5;color:var(--ink);margin:18px 0 10px;font-weight:700}
    .content h1{font-size:22px;border-bottom:1px solid var(--line);padding-bottom:8px}
    .content h2{font-size:19px}
    .content h3{font-size:17px}
    .content h4{font-size:15px;font-weight:600}
    .content h5{font-size:14px;font-weight:600;color:var(--ink-soft)}
    .content h6{font-size:13px;font-weight:600;color:var(--ink-soft)}

    
    .masthead{background:#fff;border-bottom:1px solid var(--line)}
    .masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px}
    .masthead .brand{display:flex;align-items:center;gap:22px;min-width:0}
    .masthead .brand .logo{height:84px;width:auto;flex:0 0 auto}
    .masthead .brand .logo-main{height:120px;width:auto;flex:0 0 auto}
    .masthead .brand .wordmark{height:78px;width:auto;flex:0 0 auto}
    .bureau{flex:0 0 auto;width:300px;padding:12px 16px;background:#faf7f2;border:1px solid rgba(158,28,28,.08);border-radius:10px;font-size:14px;color:var(--ink-soft);line-height:1.7;letter-spacing:.5px;box-shadow:0 2px 8px rgba(120,20,20,.04)}
    .bureau div{display:flex;align-items:center;gap:14px;padding:6px 0;border-bottom:1px dashed rgba(158,28,28,.16)}
    .bureau div:last-child{border-bottom:none;padding-bottom:0}
    .bureau div:first-child{padding-top:0}
    .bureau b{color:var(--red-deep);font-weight:600;flex:0 0 128px;text-align:justify;text-align-last:justify}
    .bureau span{color:var(--ink);font-weight:500;flex:1;text-align:justify;text-align-last:justify}


    .nav{background:var(--red);position:sticky;top:0;z-index:50;box-shadow:0 3px 12px rgba(120,20,20,.25)}
    .nav .wrap{display:flex;flex-wrap:nowrap;align-items:stretch}
    .nav .menu{display:flex;flex-wrap:nowrap;align-items:stretch;flex:1 1 auto;min-width:0;justify-content:space-between}
    .nav .menu>a,.nav .has-sub>a{display:block;padding:0 22px;line-height:52px;font-size:17.5px;color:#fff;letter-spacing:1px;position:relative;white-space:nowrap;transition:background .2s}
    .nav .has-sub{position:relative}
    .nav .menu>a:hover,.nav .has-sub>a:hover{background:var(--red-bright)}
    .nav .submenu{position:absolute;top:100%;left:0;min-width:176px;background:#fff;
      border:1px solid var(--line);border-top:none;box-shadow:var(--shadow);
      display:none;flex-direction:column;z-index:60}
    .nav .has-sub:hover .submenu{display:flex}
    .nav .submenu a{padding:11px 20px;font-size:15px;color:var(--ink);white-space:nowrap;border-bottom:1px solid var(--line);letter-spacing:1px}
    .nav .submenu a:last-child{border-bottom:none}
    .nav .submenu a:hover{background:#faf3e8;color:var(--red)}


    
    .container{max-width:1180px;margin:30px auto;padding:10px}

    
    .breadcrumb{padding:6px 0 14px;font-size:14px;color:var(--ink-soft);line-height:1.6}
    .breadcrumb a{color:var(--ink-soft);text-decoration:none;transition:color .15s}
    .breadcrumb a:hover{color:var(--red)}
    .breadcrumb-sep{margin:0 8px;color:#c8bda6}
    .breadcrumb-current{color:var(--red);font-weight:600}

    
    .card{background:#fff;border-radius:10px;padding:32px;box-shadow:var(--shadow);margin-bottom:20px;border-top:4px solid var(--red)}
    .card h2,.card h3{font-size:22px;font-weight:700;letter-spacing:2px;margin-bottom:18px;color:var(--ink);border-left:4px solid var(--red);padding-left:12px}

    
    .btn{display:inline-block;background:var(--red);color:#fff;padding:11px 22px;border-radius:6px;text-decoration:none;font-size:15px;font-weight:600;letter-spacing:1px;border:none;cursor:pointer;transition:background .2s}
    .btn:hover{background:var(--red-deep)}

    
    input,select,textarea{width:100%;padding:11px 14px;margin:8px 0 16px;border:1px solid var(--line);border-radius:6px;box-sizing:border-box;font-size:15px;font-family:inherit;background:#fff;color:var(--ink);transition:border-color .2s}
    input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(189,154,86,.15)}
    label{font-size:14px;color:var(--ink-soft);font-weight:500;display:block;margin-top:12px}
    .muted{color:var(--ink-soft);font-size:14px}

    
    .field-row{position:relative}
    .field-error{color:#b3271d;font-size:13px;font-weight:600;margin:-10px 0 12px 2px;display:none;line-height:1.4}
    .field-error.show{display:block}
    input.input-error,select.input-error,textarea.input-error{border-color:var(--red-bright);box-shadow:0 0 0 3px rgba(192,57,43,.12)}
    input.input-error:focus,select.input-error:focus,textarea.input-error:focus{border-color:var(--red-bright)}
    label.input-error{color:var(--red-bright)}

    
    .form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 22px;margin:8px 0 4px}
    .form-grid .field-row{margin:0}
    .form-grid label{margin:8px 0 4px}
    .form-grid input,.form-grid select,.form-grid textarea{margin:0 0 12px}
    .form-grid .field-error{margin:-6px 0 10px 2px}
    .form-grid .field-row--full{grid-column:1 / -1}
    @media(max-width:760px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:480px){.form-grid{grid-template-columns:1fr}}

    
    .register-tabs{display:flex;border-radius:10px;overflow:hidden;border:2px solid var(--red);margin-bottom:24px;box-shadow:0 4px 14px rgba(158,28,28,.12)}
    .register-tabs a{flex:1;text-align:center;padding:16px 12px;font-size:17px;font-weight:700;letter-spacing:2px;transition:all .2s;white-space:nowrap;background:#fff;color:var(--ink-soft)}
    .register-tabs a:hover{background:var(--paper-2);color:var(--red)}
    .register-tabs a.active{background:var(--red);color:#fff;position:relative}
    .register-tabs a.active::after{content:"";position:absolute;left:50%;bottom:8px;transform:translateX(-50%);width:36px;height:3px;background:var(--gold);border-radius:2px}
    @media(max-width:480px){.register-tabs a{font-size:15px;padding:14px 8px;letter-spacing:1px}}

    
    .captcha-inline{display:flex;gap:10px;align-items:center;margin:8px 0 16px}
    .captcha-inline input{flex:1;margin:0}
    .captcha-img{height:42px;width:120px;flex:0 0 auto;cursor:pointer;border:1px solid var(--line);border-radius:6px;background:#fff}
    .captcha-hint{font-size:13px;color:var(--ink-soft);margin:-4px 0 16px;line-height:1.5}
    .captcha-hint b{color:var(--red);font-weight:600}

    
    .sms-tip{font-size:15px;line-height:1.55;margin:16px 0 0;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);transition:all .2s;word-break:break-all}
    .sms-tip:empty{display:none;padding:0;margin:0;border:0;background:none}
    .sms-tip.info{border-color:var(--gold);background:rgba(189,154,86,.12);color:#7a5a1c}
    .sms-tip.ok{border-color:#2e9b5b;background:rgba(46,155,91,.12);color:#1f7a45;font-weight:600}
    .sms-tip.err{border-color:#e0998f;background:rgba(192,57,43,.14);color:#b3271d;font-weight:700;font-size:15px;border-left:4px solid var(--red-bright);box-shadow:0 1px 4px rgba(192,57,43,.14)}

    
    .article-layout{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:start}
    .article-main{min-width:0}
    .article-main h1.column-title{font-size:22px;font-weight:700;line-height:1.5;color:var(--ink);letter-spacing:2px;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
    .article-side{background:#fff;border-radius:10px;padding:20px;box-shadow:var(--shadow);border-top:4px solid var(--red);position:sticky;top:20px}
    .side-title{font-size:18px;font-weight:700;letter-spacing:2px;margin:0 0 14px;color:var(--ink);border-left:4px solid var(--red);padding-left:10px}
    .side-list{list-style:none;margin:0;padding:0}
    .side-list a{display:block;padding:9px 10px;border-radius:6px;color:var(--ink-soft);font-size:14px;line-height:1.5;transition:background .2s,color .2s;border-left:3px solid transparent}
    .side-list a:hover{background:var(--paper-2);color:var(--red)}
    .side-list a.active{background:var(--paper-2);color:var(--red);border-left-color:var(--red);font-weight:600}

    
    .side-tree{list-style:none;margin:0;padding:0;font-size:15px}
    .side-tree ul{list-style:none;margin:0;padding:0}
    .side-tree a{display:block;padding:9px 10px;border-radius:6px;color:var(--ink-soft);line-height:1.5;transition:background .2s,color .2s;border-left:3px solid transparent;text-decoration:none}
    .side-tree a:hover{background:var(--paper-2);color:var(--red)}
    .side-tree li.active > a{background:var(--paper-2);color:var(--red);border-left-color:var(--red);font-weight:600}
    .side-tree li.has-children > a{position:relative}
    .side-tree-children{margin-left:12px !important;border-left:1px dashed var(--line);padding-left:6px !important}
    .side-tree-children .side-tree-children{margin-left:10px !important}

    
    footer{background:var(--red);color:#d6c5a8;padding:30px 0 20px;font-size:14px;margin-top:40px}
    footer .inner{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:28px;text-align:left}
    footer a{color:#d6c5a8;transition:color .2s}
    footer a:hover{color:#fff}
    footer .info{font-size:13.5px;line-height:2.15}
    footer .info .name{color:#fff;font-size:15.5px;letter-spacing:2px;margin-bottom:4px}
    footer .copy{margin-top:6px;color:#b8a688;font-size:12.5px;letter-spacing:1px}
    footer .foot-sep{color:#c99;margin:0 2px;font-weight:400;opacity:.55}
    footer .qr{text-align:center;flex:0 0 auto}
    footer .qr img{width:118px;height:118px;border-radius:8px;border:3px solid #fff;margin-bottom:6px}
    footer .qr p{font-size:12px;color:#e8d9bd;letter-spacing:1px}

    /* 文章正文图片：骨架屏 shimmer 占位 + 真图淡入。
       占位高度由 PHP 注入的 width/height 提供（本地图真实尺寸，外链图默认比例）；
       加载中显示灰底闪烁，加载完由页脚 JS 加 .is-loaded 移除闪烁并显示真图；
       无 JS 时由 <noscript> 兜底直接显示。 */
    .content img{
      background:linear-gradient(100deg,#ece6da 30%,#f5f0e6 50%,#ece6da 70%);
      background-size:200% 100%;
      animation:imgShimmer 1.5s ease-in-out infinite;
      border-radius:4px;
      transition:background .35s ease
    }
    .content img.is-loaded{animation:none;background:none}
    @keyframes imgShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
  

    /* ============================================================
       ⚠️ 响应式块必须放在文件最末（2026-09-11 修复）
       媒体查询**不提升优先级**，同权重靠源码顺序取胜。本块曾经写在
       .container / .card / .article-layout / .article-side / footer .inner / .btn
       等基础规则**之前**，于是这些基础规则在移动端把它们全部压回去 ——
       实测 420px 下 .article-layout 仍是 240px 两栏、卡片内边距 32px、按钮 72px 宽。
       全站移动端因此一直是坏的。新增响应式规则一律追加到本块之后。
       ============================================================ */
    @media(max-width:900px){
      /* 移动端不显示三个主管单位（用户要求，2026-09-05） */
      .bureau{display:none}
      .masthead .wrap{flex-direction:column;text-align:center;gap:0;padding:14px 16px}
      .masthead .brand{justify-content:center}
      .masthead .brand .logo{height:64px}
      .masthead .brand .logo-main{height:72px}
      .masthead .brand .wordmark{height:58px}
    }
    @media(max-width:768px){
      .card{padding:20px 16px;border-radius:8px}
      .card h2,.card h3{font-size:18px}
      .container{padding:8px;margin-top:16px}
      .article-layout{grid-template-columns:1fr}
      .article-side{position:static;margin-bottom:16px}
      footer .inner{text-align:center;flex-direction:column;gap:18px}
      .btn{display:block;text-align:center;width:100%}
      .nav .wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}
      .nav .menu>a,.nav .has-sub>a{padding:0 16px;font-size:15px;letter-spacing:1px}
      .nav .submenu{position:static;display:none;border:none;box-shadow:none}
      .nav .has-sub:hover .submenu,.nav .has-sub:active .submenu{display:flex}
    }
    @media(max-width:480px){
      .masthead .brand{flex-direction:column;gap:10px}
      .masthead .brand .logo-main{height:64px}
      .card{padding:16px 12px}
      .container{padding:4px}
      body{font-size:15px;line-height:1.65}
    }
    /* ============================================================
       769–1039px 头部导航折行（2026-09-12）
       背景：一级导航行固有宽度恒为 1040px（.nav .wrap / .nav .menu 都是 flex-wrap:nowrap，
       导航项也不收缩），而「横向滚动兜底」只写在 @media(max-width:768px) 里
       → 769–1039px 两头不靠：整页横向溢出（实测 769px 溢 +271px、980px 溢 +60px、1024px 溢 +16px）。
       处理：该区间让导航项折行（第 2 行左对齐）。刻意不用 overflow-x:auto
       —— 滚动容器会把 hover 弹出的 .submenu（position:absolute）一起裁切。
       ⚠️ 必须放在本文件最末：媒体查询不提升优先级，靠源码顺序取胜。
       ⚠️ site-ie.css 是独立 IE 版，同款规则需一并维护。
       ============================================================ */
    @media(min-width:769px) and (max-width:1039px){
      .nav .wrap{flex-wrap:wrap}
      .nav .menu{flex-wrap:wrap;justify-content:flex-start}
    }
