:root{--ink:#071521;--ink-soft:#0d2634;--paper:#f4f7f5;--white:#fff;--teal:#1fd1b2;--teal-dark:#087b70;--line:#07152124;--muted:#60717a;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);margin:0;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{width:min(1180px,100% - 40px);margin-inline:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{z-index:20;background:#fff;padding:8px 12px;top:12px;left:12px}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.site-header{color:#fff;background:#071521f7;border-bottom:1px solid #ffffff1f}.nav-wrap{justify-content:space-between;align-items:center;gap:30px;min-height:76px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{border:1px solid var(--teal);width:38px;height:38px;color:var(--teal);place-items:center;font-size:13px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.04em}.brand small{color:#88a0aa;letter-spacing:.11em;text-transform:uppercase;font-size:9px}nav{color:#cad6da;gap:28px;font-size:14px;display:flex}nav a:hover,nav a:focus{color:var(--teal)}.hero{color:#fff;background:radial-gradient(circle at 78% 25%,#1fd1b229,#0000 25%),linear-gradient(135deg,#071521 0%,#0a202d 100%);padding:92px 0 72px}.hero-grid{grid-template-columns:1.35fr .65fr;align-items:center;gap:70px;display:grid}.eyebrow{color:var(--teal-dark);letter-spacing:.2em;margin:0 0 16px;font-size:12px;font-weight:800}.hero .eyebrow,.section-dark .eyebrow{color:var(--teal)}h1,h2,h3,p{margin-top:0}.hero h1{letter-spacing:-.045em;margin-bottom:26px;font-size:clamp(42px,6vw,76px);line-height:1.09}.hero h1.home-title{font-size:clamp(40px,4.5vw,56px)}.hero h1.home-title>span{white-space:nowrap;display:block}.hero h1.home-title .term{white-space:nowrap}.hero h1 em{color:var(--teal);font-style:normal}.hero-copy{color:#b8c8ce;max-width:650px;font-size:18px}.hero-search{background:#fff;max-width:680px;margin-top:34px;padding:6px;display:flex}.hero-search input{border:0;outline:0;flex:1;min-width:0;padding:14px 16px}.hero-search button,.filter-panel button{background:var(--teal);color:var(--ink);cursor:pointer;border:0;padding:0 24px;font-weight:800}.trust-note{color:#8ca2aa;align-items:center;gap:10px;margin:18px 0 0;font-size:13px;display:flex}.trust-note span{background:var(--teal);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #1fd1b21a}.evidence-card{backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff24;padding:28px}.card-kicker{color:#d9e4e7;font-weight:700}.evidence-card ol{margin:24px 0 0;padding:0;list-style:none}.evidence-card li{border-top:1px solid #ffffff1a;gap:18px;padding:16px 0;display:flex}.evidence-card li>span{color:var(--teal);font:700 12px monospace}.evidence-card strong,.evidence-card small{display:block}.evidence-card small{color:#8198a1;margin-top:2px}.status-band{border-bottom:1px solid var(--line);background:#fff}.status-grid{grid-template-columns:repeat(4,1fr);display:grid}.status-grid div{border-right:1px solid var(--line);padding:26px}.status-grid div:first-child{border-left:1px solid var(--line)}.status-grid strong,.status-grid span{display:block}.status-grid strong{letter-spacing:-.04em;font-size:30px}.status-grid span{color:var(--muted);font-size:13px}.section{padding-top:92px;padding-bottom:92px}.section-heading{max-width:720px;margin-bottom:44px}.section-heading h2,.split h2,.callout h2{letter-spacing:-.035em;margin-bottom:16px;font-size:clamp(32px,4vw,50px);line-height:1.18}.section-heading>p:last-child{color:var(--muted);font-size:17px}.feature-grid{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.feature-grid article{border-right:1px solid var(--line);background:#fff;min-height:280px;padding:32px}.feature-grid article:last-child{border:0}.feature-no{color:var(--teal-dark);font:700 12px monospace}.feature-grid h3{margin-top:56px;font-size:23px}.feature-grid p{color:var(--muted);margin-bottom:0}.section-dark{background:var(--ink);color:#fff}.split{grid-template-columns:.85fr 1.15fr;gap:90px;display:grid}.audience-list>div{border-top:1px solid #ffffff24;grid-template-columns:210px 1fr;gap:30px;padding:22px 0;display:grid}.audience-list p{color:#91a5ad;margin:0}.callout{justify-content:space-between;align-items:flex-end;gap:40px;display:flex}.callout>div{max-width:760px}.callout p:last-child{color:var(--muted)}.button-secondary{border:1px solid var(--ink);white-space:nowrap;padding:13px 20px;font-weight:700;display:inline-block}.page-hero{background:var(--ink);color:#fff;padding:72px 0}.page-hero h1{letter-spacing:-.04em;margin-bottom:12px;font-size:clamp(42px,6vw,68px)}.page-hero p:last-child{color:#a6b8bf;max-width:760px;font-size:18px}.filter-panel{border:1px solid var(--line);background:#fff;grid-template-columns:2fr repeat(3,1fr) auto;gap:12px;padding:22px;display:grid}.filter-panel label{color:var(--muted);font-size:12px;font-weight:700}.filter-panel input,.filter-panel select{border:1px solid var(--line);background:#fff;width:100%;height:44px;margin-top:6px;padding:0 10px}.empty-state{text-align:center;max-width:640px;margin:auto;padding:100px 20px 30px}.empty-state>span{color:var(--teal-dark);letter-spacing:.18em;font:700 11px monospace}.empty-state h2{margin:14px 0;font-size:34px}.empty-state p{color:var(--muted)}.empty-state a{color:var(--teal-dark);font-weight:800}.candidate-section{padding-top:56px}.candidate-warning{background:#fff8e6;border-left:4px solid #d69d1f;grid-template-columns:220px 1fr;align-items:start;gap:28px;margin-bottom:24px;padding:22px 26px;display:grid}.candidate-warning strong{color:#76520a}.candidate-warning p{color:#665c45;margin:0}.result-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:28px 2px 16px;display:flex}.result-heading p{margin:0}.result-heading strong{font-size:30px}.result-heading span{color:var(--muted);font-size:13px}.candidate-list{gap:16px;margin-top:18px;display:grid}.candidate-card{border:1px solid var(--line);background:#fff;padding:28px}.candidate-card[hidden]{display:none}.candidate-card-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.candidate-card-head code{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.status-chip{color:#6d4b00;background:#fff2cc;padding:5px 9px;font-size:11px;font-weight:800;display:inline-block}.candidate-card h2{margin:18px 0 8px;font-size:25px;line-height:1.35}.project-title-link{color:inherit}.project-title-link:hover,.project-title-link:focus{color:var(--teal-dark);text-underline-offset:4px;text-decoration:underline 2px}.candidate-summary{color:var(--muted);margin-bottom:22px}.candidate-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1.2fr .8fr .8fr .8fr;margin:0;display:grid}.candidate-meta div{padding:16px 18px 16px 0}.candidate-meta dt{color:var(--muted);font-size:11px;font-weight:800}.candidate-meta dd{margin:5px 0 0;font-size:14px}.amount-panel{background:#f5f8f7;grid-template-columns:minmax(250px,.8fr) 1.2fr;align-items:center;gap:30px;margin-top:20px;padding:16px 18px;display:grid}.amount-panel strong{color:var(--teal-dark);font-size:18px}.amount-panel span{color:var(--muted);font-size:13px}.evidence-links{flex-wrap:wrap;gap:16px;margin-top:20px;display:flex}.evidence-links a{color:var(--teal-dark);font-size:13px;font-weight:800}.evidence-links a:hover,.evidence-links a:focus{text-decoration:underline}.attachment-list{border:1px solid var(--line);background:#f8faf9;margin-top:18px;padding:14px 16px}.attachment-list summary{cursor:pointer;font-size:13px;font-weight:800}.attachment-note{color:var(--muted);margin:10px 0;font-size:12px}.attachment-list ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.attachment-list li{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.attachment-list a{color:var(--teal-dark);overflow-wrap:anywhere;font-size:13px;font-weight:700}.attachment-list a:hover,.attachment-list a:focus{text-decoration:underline}.attachment-list small{color:var(--muted);font-size:11px}.file-type-chip{background:var(--ink);color:#fff;text-align:center;min-width:38px;padding:3px 6px;font:800 10px monospace}.tender-hero{padding:58px 0}.tender-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(420px,.75fr);align-items:end;gap:70px;display:grid}.tender-release-meta{border:1px solid #ffffff29;grid-template-columns:repeat(2,1fr);margin:0;display:grid}.tender-release-meta div{border:1px solid #ffffff14;padding:18px}.tender-release-meta dt{color:#89a0a9;font-size:11px;font-weight:800}.tender-release-meta dd{margin:6px 0 0;font:800 21px monospace}.tender-section{padding-top:52px}.tender-filter{grid-template-columns:minmax(220px,2fr) repeat(5,minmax(125px,1fr))}.tender-filter button{min-height:44px}.filter-reset{color:var(--ink)!important;border:1px solid var(--line)!important;background:#fff!important}.tender-list{gap:18px;margin-top:18px;display:grid}.tender-card{border-top:3px solid var(--ink)}.tender-card-head time{color:var(--muted);font-size:12px}.tender-card-head>div{flex-wrap:wrap;gap:8px;display:flex}.deadline-chip{padding:5px 9px;font-size:11px;font-weight:800;display:inline-block}.deadline-报名中{color:#075d4f;background:#d8f3eb}.deadline-即将截止{color:#8a4c00;background:#ffe7bd}.deadline-已截止{color:#526168;background:#e7ebed}.deadline-截止时间待核实{color:#5c3980;background:#f0e7fa}.tender-code{color:var(--teal-dark);overflow-wrap:anywhere;margin:20px 0 0;font:700 12px monospace}.tender-meta{grid-template-columns:repeat(4,1fr)}.tender-meta div{border-bottom:1px solid var(--line)}.tender-amount-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;display:grid}.tender-amount-grid div{background:#f5f8f7;gap:5px;padding:16px 18px;display:grid}.tender-amount-grid span,.tender-amount-grid small{color:var(--muted);font-size:11px}.tender-amount-grid strong{color:var(--teal-dark);font-size:17px}.amount-scope-note{color:var(--muted);margin:9px 0 0;font-size:12px}.tender-tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tender-tags span{border:1px solid var(--line);color:var(--muted);padding:4px 8px;font-size:11px}.evidence-chain{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.evidence-chain summary{cursor:pointer;font-size:13px;font-weight:800}.evidence-chain ol{gap:10px;padding-left:20px;display:grid}.evidence-chain li{color:var(--muted);font-size:12px}.evidence-chain time{min-width:152px;display:inline-block}.evidence-chain a{color:var(--teal-dark);font-weight:700}.official-link{color:var(--teal-dark);margin-top:18px;font-size:13px;font-weight:800;display:inline-block}.official-link:hover,.official-link:focus,.evidence-chain a:hover,.evidence-chain a:focus{text-decoration:underline}.breadcrumbs{padding-block:18px}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.breadcrumbs li:not(:last-child):after{content:"/";color:#9aa8ad;margin-left:8px}.breadcrumbs a{color:var(--teal-dark);font-weight:700}.project-detail-hero{padding-block:58px}.project-detail-hero h1{max-width:980px;font-size:clamp(36px,5vw,58px);line-height:1.12}.project-detail-layout{gap:20px;padding-top:44px;display:grid}.project-detail-layout .candidate-warning{margin-bottom:0}.project-detail-section{border:1px solid var(--line);background:#fff;padding:32px}.detail-heading{margin:0 0 22px}.detail-heading h2{margin:6px 0 0;font-size:30px}.detail-meta-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.detail-meta-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:16px}.detail-meta-grid dt{color:var(--muted);font-size:11px;font-weight:800}.detail-meta-grid dd{overflow-wrap:anywhere;margin:6px 0 0;font-size:14px}.detail-amount-grid{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.detail-amount-grid div{background:#f5f8f7;gap:8px;padding:20px;display:grid}.detail-amount-grid span{color:var(--muted);font-size:11px}.detail-amount-grid strong{color:var(--teal-dark);overflow-wrap:anywhere;font-size:18px}.detail-note{color:var(--muted);margin:14px 0 0;font-size:12px}.detail-summary{color:#33464e;font-size:17px;line-height:1.8}.keyword-list{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.keyword-list li{border:1px solid var(--line);color:var(--muted);padding:5px 9px;font-size:12px}.detail-timeline{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.detail-timeline li{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);gap:24px;padding:18px 0;display:grid}.detail-timeline time{color:var(--muted);font:700 12px monospace}.detail-timeline div{gap:5px;display:grid}.detail-timeline a,.detail-attachment-list a{color:var(--teal-dark);overflow-wrap:anywhere;font-weight:700}.detail-attachment-list{gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.detail-attachment-list li{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:10px;display:grid}.detail-attachment-list small{color:var(--muted);font-size:11px}.detail-boundary{border-left:4px solid var(--teal-dark);background:#eaf6f3;padding:24px 28px}.detail-boundary p{color:#40565d;margin-bottom:0}.detail-actions{flex-wrap:wrap;gap:12px;display:flex}.detail-actions .button-secondary{margin:0}.empty-state.compact{padding-top:50px}.prose-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.prose-grid article{background:#fff;padding:38px}.prose-grid article>span{color:var(--teal-dark);font:700 12px monospace}.prose-grid h2{margin-top:32px}.prose-grid p{color:var(--muted)}.method-table{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,1fr);display:grid}.method-table div{border-right:1px solid var(--line);padding:24px}.method-table div:last-child{border:0}.method-table strong,.method-table span{display:block}.method-table strong{font:700 12px monospace}.method-table span{color:var(--muted);margin-top:8px}.method-table .active{background:var(--teal)}.method-table .active span{color:var(--ink)}.source-list{gap:14px;display:grid}.source-list article{border:1px solid var(--line);background:#fff;grid-template-columns:70px 1fr;gap:30px;padding:28px;display:grid}.source-list b{color:var(--teal-dark);font:800 36px monospace}.source-list h2{margin-bottom:6px}.source-list p{color:var(--muted);margin:0}.direct-section{padding-top:52px}.direct-project-list{gap:18px;display:grid}.direct-project-card time{color:var(--muted);font-size:12px}.direct-source-heading{margin-top:76px}.direct-filter{grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)) auto auto;margin-bottom:18px}.direct-source-list article[hidden]{display:none}.direct-source-title{justify-content:space-between;align-items:center;gap:20px;display:flex}.direct-source-title h2{margin:0 0 6px}.source-status{flex:none;padding:5px 9px;font-size:11px;font-weight:800}.source-active{color:#075d4f;background:#d8f3eb}.source-robots_unavailable{color:#6d4b00;background:#fff2cc}.about-grid{grid-template-columns:1.2fr .8fr;gap:60px;display:grid}.about-grid article>p{color:var(--muted);font-size:17px}.about-panel{background:var(--ink);color:#fff;padding:34px}.about-panel ul{color:#aebec4;padding-left:20px}.about-panel li{margin:12px 0}.section-muted{background:#eef3f2}.maintainer-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:64px;display:grid}.maintainer-section .section-heading{margin:0}.maintainer-section .section-heading p{max-width:720px;color:var(--muted)}.reference-grid{gap:12px;display:grid}.reference-grid a{border:1px solid var(--line);border-left:3px solid var(--teal-dark);background:#fff;gap:8px;padding:22px 24px;display:grid}.reference-grid a:hover,.reference-grid a:focus{border-color:var(--teal-dark)}.reference-grid strong{color:var(--ink);font-size:17px}.reference-grid span{color:var(--muted);font-size:13px}.site-footer{color:#fff;background:#041019;border-top:1px solid #ffffff1a;padding:54px 0}.footer-grid{grid-template-columns:1.2fr repeat(2,1fr);gap:42px;display:grid}.footer-grid p{color:#7f949d;margin:8px 0 0;font-size:13px}.company-site-link{color:#a8c2ca;font-weight:700}.company-site-link:hover,.company-site-link:focus{color:var(--teal);text-decoration:underline}@media (width<=860px){.nav-wrap{align-items:flex-start;padding-block:18px}nav{flex-wrap:wrap;justify-content:flex-end;gap:14px}.hero-grid,.split,.about-grid,.maintainer-section,.tender-hero-grid{grid-template-columns:1fr}.hero{padding-top:64px}.status-grid,.method-table{grid-template-columns:repeat(2,1fr)}.feature-grid{grid-template-columns:1fr}.feature-grid article{border-right:0;border-bottom:1px solid var(--line)}.filter-panel,.tender-meta,.tender-amount-grid,.detail-meta-grid,.detail-amount-grid{grid-template-columns:repeat(2,1fr)}.candidate-warning,.candidate-meta,.amount-panel{grid-template-columns:1fr 1fr}.direct-filter{grid-template-columns:repeat(2,1fr)}.filter-panel button{min-height:46px}.footer-grid{grid-template-columns:1fr;gap:28px}}@media (width<=560px){.shell{width:min(100% - 24px,1180px)}.nav-wrap{display:block}nav{justify-content:flex-start;margin-top:16px;font-size:12px}.hero h1{font-size:42px}.hero h1.home-title{font-size:36px}.hero h1.home-title>span{white-space:normal}.hero-search{background:0 0;padding:0;display:block}.hero-search input,.hero-search button{width:100%;min-height:50px}.hero-search button{margin-top:8px}.status-grid{grid-template-columns:1fr 1fr}.status-grid div{padding:18px}.section{padding-top:64px;padding-bottom:64px}.prose-grid,.filter-panel,.candidate-warning,.candidate-meta,.amount-panel,.tender-meta,.tender-amount-grid,.detail-meta-grid,.detail-amount-grid{grid-template-columns:1fr}.direct-source-title{flex-direction:column;align-items:flex-start;gap:4px}.project-detail-section{padding:24px 18px}.detail-timeline li,.detail-attachment-list li{grid-template-columns:1fr;gap:6px}.tender-release-meta{grid-template-columns:repeat(2,1fr)}.tender-card-head,.result-heading{flex-direction:column;align-items:flex-start}.evidence-chain time{margin-bottom:3px;display:block}.attachment-list li{grid-template-columns:auto minmax(0,1fr)}.attachment-list small{grid-column:2}.audience-list>div{grid-template-columns:1fr;gap:6px}.callout{display:block}.button-secondary{margin-top:18px}}
