.funding-guide {
  --fg-paper:#fff;
  --fg-ink:#132f51;
  --fg-text:#18304c;
  --fg-muted:#53677c;
  --fg-rule:#d6e1e9;
  --fg-soft:#f5f9fc;
  --fg-blue:#17639b;
  --fg-sky:#3085c8;
  --fg-heading:Manrope,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;
  color:var(--fg-text);
  background:var(--fg-paper);
  font:15px/1.7 'DM Sans','PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;
  overflow-wrap:anywhere;
}
.funding-guide :is(h1,h2,h3,p,figure,fieldset,legend,ul,dl,dd) { margin:0; }
.funding-guide :is(h1,h2,h3) { font-family:var(--fg-heading); font-weight:800; color:var(--fg-ink); }
.funding-guide a { color:var(--fg-blue); text-underline-offset:4px; }
.funding-guide :focus-visible { outline:3px solid var(--fg-sky); outline-offset:3px; }
.fg-wrap { width:min(1180px,calc(100% - 64px)); margin-inline:auto; }
.fg-hero { background:#eaf4fb; }
.fg-hero-inner { display:grid; grid-template-columns:minmax(0,1fr) 190px; align-items:center; gap:28px 64px; padding-block:48px 34px; }
.fg-heading h1 { font-size:clamp(30px,4vw,52px); line-height:1.3; letter-spacing:-.035em; text-wrap:initial; }
.fg-heading h1 span { color:var(--fg-sky); }
.fg-heading > p { max-width:34em; margin-top:22px; color:var(--fg-muted); font-size:17px; line-height:1.9; }
.fg-mascot { width:190px; text-align:center; }
.fg-mascot img { display:block; width:190px; height:190px; object-fit:contain; }
.fg-mascot figcaption { margin-top:8px; color:var(--fg-muted); font-size:13px; }
.fg-nav { display:flex; flex-wrap:wrap; align-items:center; gap:10px 28px; margin-top:20px; }
.fg-nav a { min-height:44px; display:inline-flex; align-items:center; border-bottom:2px solid transparent; padding:7px 0; color:var(--fg-ink); font-size:14px; font-weight:700; text-decoration:none; }
.fg-nav a[aria-current="page"] { color:var(--fg-blue); border-color:var(--fg-blue); }
.fg-nav a:hover { color:var(--fg-blue); }
.fg-layout { display:grid; grid-template-columns:300px minmax(0,1fr); align-items:start; gap:40px; padding-block:48px 76px; }
.fg-filters,.fg-main { min-width:0; }
.fg-filters { padding:26px 24px 22px; border-radius:14px; background:var(--fg-soft); display:grid; gap:22px; align-content:start; }
.fg-filter-heading h2 { font-size:22px; line-height:1.45; }
.fg-filter-heading p { margin-top:6px; color:var(--fg-muted); font-size:13px; }
.fg-filters fieldset { min-width:0; border:0; padding:0; }
.fg-filters legend,.fg-select-label { padding:0; font-weight:800; font-size:13px; line-height:1.7; color:var(--fg-ink); }
.fg-filters legend { margin-bottom:8px; }
.fg-filter-help { margin:-2px 0 9px !important; color:var(--fg-muted); font-size:12px; }
.fg-stages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:3px; border-radius:10px; background:#e1ecf5; }
.fg-stage,.fg-choice { position:relative; display:flex; cursor:pointer; }
.fg-stage input,.fg-choice input { position:absolute; opacity:0; width:1px; height:1px; min-height:0; margin:0; }
.fg-stage > span { display:flex; flex-direction:column; align-items:center; justify-content:center; flex:1; min-height:52px; padding:4px 2px; border-radius:8px; color:var(--fg-ink); }
.fg-stage strong { font-size:14px; font-weight:800; line-height:1.4; }
.fg-stage small { margin-top:2px; color:var(--fg-muted); font-size:11px; font-weight:600; line-height:1.4; }
.fg-stage input:checked + span { background:white; }
.fg-stage input:focus-visible + span,.fg-choice input:focus-visible + span { outline:3px solid var(--fg-sky); outline-offset:2px; }
.fg-choice-list { display:flex; flex-wrap:wrap; gap:8px; }
.fg-choice > span { display:flex; align-items:center; min-height:44px; padding:8px 15px; border:1px solid var(--fg-rule); border-radius:28px; background:white; color:var(--fg-ink); font-size:14px; font-weight:700; line-height:1.4; }
.fg-choice input:checked + span { color:var(--fg-blue); border-color:var(--fg-blue); background:#eaf4fb; }
.fg-choice:hover > span { border-color:var(--fg-blue); }
.fg-select-label { display:grid; gap:8px; }
.fg-select-label select { width:100%; min-height:44px; padding:9px 12px; border:1px solid #b7c9d8; border-radius:8px; background:#fff; color:var(--fg-text); font-family:inherit; font-size:14px; font-weight:400; line-height:1.5; }
.fg-fact { display:flex; gap:10px; align-items:flex-start; min-height:44px; padding-block:8px; color:var(--fg-text); font-size:14px; font-weight:400; line-height:1.55; cursor:pointer; }
.funding-guide input[type="checkbox"] { accent-color:var(--fg-blue); }
.fg-fact input,.fg-manual input { flex:0 0 18px; width:18px; height:18px; min-height:18px; padding:0; margin:2px 0 0; border-radius:3px; }
.fg-filter-limit { padding-top:14px; border-top:1px solid var(--fg-rule); color:var(--fg-muted); font-size:12px; line-height:1.8; }
.fg-more-facts summary { padding:9px 0; cursor:pointer; color:var(--fg-blue); font-size:13px; font-weight:700; }
.fg-bar h2 { font-size:clamp(24px,2.8vw,32px); line-height:1.45; }
.fg-bar [data-fg-count] { display:inline-block; margin-left:8px; color:var(--fg-blue); font-size:inherit; white-space:nowrap; }
.fg-limit { margin:8px 0 24px !important; color:var(--fg-muted); font-size:14px; line-height:1.8; }
.fg-results { display:grid; gap:16px; }
.fg-project { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 210px; align-items:start; gap:16px 26px; padding:22px 24px; border:1px solid var(--fg-rule); border-radius:14px; background:#fff; }
.fg-project-main,.fg-project-money { min-width:0; }
.fg-meta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.fg-meta > span { padding:4px 9px; border-radius:6px; font-size:12px; font-weight:700; line-height:1.6; }
.fg-meta .fg-scope { background:#eaf4fb; color:var(--fg-blue); }
.fg-meta .fg-degree { padding:3px 9px; border:1px solid var(--fg-rule); color:var(--fg-ink); }
.fg-meta .fg-status { background:var(--fg-soft); color:var(--fg-muted); font-weight:600; }
.fg-project h3 { margin-top:12px; font-size:19px; line-height:1.45; }
.fg-project h3 a { color:var(--fg-ink); text-decoration:none; }
.fg-project h3 a:hover { text-decoration:underline; }
.fg-location { display:flex; align-items:flex-start; gap:6px; margin-top:3px !important; color:var(--fg-muted); font-size:13px; line-height:1.6; }
.fg-location svg { flex:0 0 15px; width:15px; height:15px; margin-top:3px; fill:none; stroke:var(--fg-blue); stroke-width:1.8; }
.fg-project-name { margin-top:10px !important; color:var(--fg-blue); font-size:15px; font-weight:700; line-height:1.55; }
.fg-project-name a { text-decoration:none; }
.fg-project-name a:hover { text-decoration:underline; }
.fg-criteria-chips { margin-top:14px !important; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px; }
.fg-criteria-chips li { display:inline-flex; align-items:flex-start; gap:7px; padding:6px 10px; border:1px solid var(--fg-rule); border-radius:8px; background:#f9fbfd; color:var(--fg-muted); font-size:13px; line-height:1.55; }
.fg-criteria-chips li[data-confirmed="true"] { border-color:#a7cadf; background:#eaf4fb; color:var(--fg-blue); }
.fg-condition-icon { flex:0 0 15px; width:15px; height:15px; margin-top:3px; fill:none; stroke:currentColor; stroke-width:2; }
.fg-project-money { display:flex; flex-direction:column; gap:14px; }
.fg-amount-label { color:var(--fg-muted); font-size:12px; font-weight:700; }
.fg-grant > strong { display:block; margin-top:4px; color:var(--fg-blue); font:800 21px/1.35 var(--fg-heading); font-variant-numeric:tabular-nums; }
.fg-grant > span { display:block; margin-top:3px; color:var(--fg-ink); font-size:14px; font-weight:800; line-height:1.5; font-variant-numeric:tabular-nums; }
.fg-cycle { margin-top:-7px !important; color:var(--fg-muted); font-size:12px; line-height:1.7; }
.fg-progress p { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.fg-progress strong { color:var(--fg-ink); font-size:13px; font-weight:800; }
.fg-progress p > span { color:var(--fg-muted); font-size:12px; }
.fg-progress-track { height:6px; margin-top:6px; border-radius:3px; background:#e1ecf5; overflow:hidden; }
.fg-progress-track i { display:block; height:6px; border-radius:3px; background:var(--fg-blue); }
.fg-links { display:flex; flex-wrap:wrap; align-items:center; gap:0 16px; }
.fg-links a { display:inline-flex; min-height:38px; align-items:center; gap:6px; font-size:13px; text-decoration:none; }
.fg-links a:hover { text-decoration:underline; }
.fg-links .fg-primary-link { font-weight:800; }
.fg-links .fg-source { color:var(--fg-muted); font-size:12px; }
.fg-links svg { width:17px; height:17px; }
.fg-details { margin-top:10px; }
.fg-details summary { padding:5px 0; min-height:34px; cursor:pointer; color:var(--fg-blue); font-size:12px; font-weight:700; }
.fg-details summary span { margin-left:8px; color:var(--fg-muted); font-weight:400; }
.fg-criteria { padding:0; list-style:none; }
.fg-criteria li { display:flex; gap:9px; align-items:flex-start; padding-block:10px; border-top:1px solid var(--fg-rule); }
.fg-criteria li > div { min-width:0; flex:1; }
.fg-criteria strong { color:var(--fg-text); font-size:13px; line-height:1.5; }
.fg-criteria p { margin-top:3px; color:var(--fg-muted); font-size:13px; line-height:1.7; }
.fg-state { flex:none; color:var(--fg-muted); font-size:11px; line-height:1.8; }
.fg-state[data-confirmed="true"] { color:var(--fg-blue); font-weight:700; }
.fg-note { color:var(--fg-muted); font-size:13px; line-height:1.8; }
.fg-group { margin-bottom:12px !important; color:var(--fg-ink); font-size:22px; }
.fg-results-a { gap:28px; }
.fg-results-a .fg-project + .fg-project { margin-top:16px; }
.fg-results-b { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.fg-results-b .fg-project { display:flex; flex-direction:column; gap:16px; }
.fg-results-b .fg-project-money { width:100%; }
.fg-results-b .fg-grant > strong { font-size:25px; }
.fg-empty { padding:28px; border-radius:14px; background:var(--fg-soft); }
.fg-empty h3 { font-size:16px; }
.fg-empty p { margin:6px 0 12px; color:var(--fg-muted); font-size:14px; }
.fg-empty a { display:inline-flex; min-height:40px; align-items:center; font-size:14px; font-weight:700; }
.fg-fx { background:#fff6df; }
.fg-fx-inner { padding-block:44px; display:grid; grid-template-columns:1fr 1.2fr; gap:24px 64px; }
.fg-fx h2 { font-size:22px; line-height:1.5; }
.fg-fx p { margin-top:10px; color:var(--fg-muted); font-size:14px; line-height:1.9; }
.fg-fx a { display:inline-flex; align-items:center; min-height:40px; margin-top:4px; font-size:13px; }
.fg-fx dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px 28px; align-content:start; }
.fg-fx dl > div { padding-top:12px; border-top:1px solid #dfd5be; }
.fg-fx dt { color:var(--fg-muted); font-size:12px; }
.fg-fx dd { margin-top:2px; color:var(--fg-ink); font-size:16px; font-weight:800; font-variant-numeric:tabular-nums; }
.fg-footer { padding-block:22px 28px; }
.fg-footer p { color:var(--fg-muted); font-size:12px; line-height:1.8; }
.fg-footer > div { display:flex; flex-wrap:wrap; gap:0 24px; margin-top:5px; }
.fg-footer a { display:inline-flex; align-items:center; gap:6px; min-height:40px; font-size:13px; font-weight:700; }
.fg-footer a svg { width:16px; height:16px; }
.fg-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:1100px) {
  .fg-layout { grid-template-columns:280px minmax(0,1fr); gap:28px; }
  .fg-project { grid-template-columns:minmax(0,1fr) 190px; padding:20px; gap:18px; }
  .fg-hero-inner { gap:32px; }
  .fg-results-b { grid-template-columns:1fr; }
}
@media(max-width:960px) {
  .fg-layout { grid-template-columns:1fr; gap:30px; }
  .fg-filters { display:grid; grid-template-columns:1fr 1fr; gap:22px 28px; }
  .fg-filter-heading,.fg-filter-limit,.fg-mode-c .fg-filters fieldset:last-of-type { grid-column:1/-1; }
  .fg-mode-c [data-fg-profile] { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
  .fg-mode-c .fg-more-facts { grid-column:1/-1; }
  .fg-project { grid-template-columns:minmax(0,1fr) 210px; padding:22px 24px; gap:26px; }
  .fg-results-b { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fg-fx-inner { gap:28px; }
}
@media(max-width:640px) {
  .fg-wrap { width:calc(100% - 36px); }
  .fg-hero-inner { grid-template-columns:minmax(0,1fr) 94px; padding-block:28px 22px; gap:16px; }
  .fg-heading h1 { font-size:clamp(26px,5.7vw,34px); line-height:1.4; }
  .fg-heading > p { font-size:14px; line-height:1.8; margin-top:14px; }
  .fg-mascot { width:94px; }
  .fg-mascot img { width:94px; height:112px; }
  .fg-mascot figcaption { font-size:10px; margin-top:5px; }
  .fg-nav { gap:4px 18px; margin-top:12px; }
  .fg-nav a { min-height:40px; font-size:13px; }
  .fg-layout { padding-block:28px 40px; }
  .fg-filters { display:grid; grid-template-columns:1fr; padding:22px 20px; gap:20px; }
  .fg-mode-c [data-fg-profile] { grid-template-columns:1fr; }
  .fg-bar h2 { font-size:25px; }
  .fg-bar [data-fg-count] { margin:0; display:inline; font-size:inherit; white-space:normal; }
  .fg-limit { margin:8px 0 18px !important; font-size:13px; }
  .fg-project { grid-template-columns:1fr; padding:20px; gap:18px; }
  .fg-project-money { padding-top:15px; border-top:1px solid var(--fg-rule); }
  .fg-project h3 { font-size:19px; }
  .fg-grant > strong { font-size:20px; }
  .fg-cycle { margin-top:-5px !important; }
  .fg-progress { max-width:380px; }
  .fg-results-b { grid-template-columns:1fr; }
  .fg-fx-inner { grid-template-columns:1fr; padding-block:30px; }
  .fg-fx dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 22px; }
}
@media(max-width:420px) {
  .fg-hero-inner { position:relative; display:block; padding-right:0; }
  .fg-heading h1 { padding-right:0; font-size:28px; }
  .fg-heading > p { max-width:calc(100% - 85px); font-size:13px; }
  .fg-mascot { position:absolute; right:0; top:117px; width:78px; }
  .fg-mascot img { width:78px; height:92px; }
  .fg-mascot figcaption { display:none; }
  .fg-nav { margin-top:20px; }
}
