.report-region-section { border-top: 1px solid #dde4e0; margin-top: 32px; }
#region-map.funding-region-section { border-top: 0; margin-top: 0; padding-top: 10px; padding-bottom: 22px; }
.home-region-section { margin-top: 0; padding: 25px 0 34px; border-top: 0; border-bottom: 1px solid #dde4e0; }
.home-region-section > h2 { font-size: clamp(24px, 2.5vw, 32px); line-height: 1.3; margin: 0 0 9px; }
.home-region-section > p { color: #52675d; font-size: 14px; line-height: 1.6; margin: 0; }
.home-region-section .report-region-panel .report-kicker { font-size: 12px; margin: 0 0 6px; }
.funding-region-section + section { padding-top: 15px; }
.funding-region-section > .report-kicker { color: #236253; font-size: 13px; font-weight: 700; letter-spacing: .08em; margin: 0 0 8px; }
.funding-region-section > h2 { font-size: 24px; line-height: 1.35; margin: 0 0 9px; }
.funding-region-section > p { color: #52675d; font-size: 14px; line-height: 1.6; margin: 0; }
.funding-region-section .report-fine { color: #52675d; font-size: 12px; line-height: 1.6; }
.funding-region-section .report-region-panel .report-kicker { color: #236253; font-size: 12px; font-weight: 700; margin: 0 0 6px; }
.report-region-layout { display: grid; grid-template-columns: minmax(300px, .96fr) minmax(320px, 1.04fr); gap: 22px; align-items: start; margin-top: 22px; }
#region-map.funding-region-section .report-region-layout { margin-top: 0; }
#region-map.funding-region-section .report-region-figure,
#region-map.funding-region-section .report-region-panel { padding: 16px; }
html[data-workbench] #region-map .report-region-figure h1 { margin: 0 0 10px !important; font-size: 22px !important; line-height: 1.3 !important; }
#region-map.funding-region-section .report-region-svg { margin-top: 8px; }
.report-region-figure, .report-region-panel { border: 1px solid #d8e2da; border-radius: 8px; background: #fff; padding: 21px; min-width: 0; }
.report-region-figure { background: #f8faf8; }
.report-region-figure label { display: block; color: #365446; font-size: 14px; font-weight: 700; margin-bottom: 7px; }
.report-region-help { margin-left: 8px; color: #52675d; font-size: 12px; font-weight: 500; }
.report-region-figure select { width: 100%; min-height: 44px; padding: 8px 11px; border: 1px solid #bdcec1; border-radius: 5px; background: #fff; color: #243531; }
.report-region-figure select:focus-visible { outline: 3px solid #236253; outline-offset: 2px; }
.report-region-svg { display: grid; place-items: center; min-height: 360px; margin: 14px auto 8px; color: #52675d; }
.report-region-svg svg { display: block; width: 100%; max-width: 440px; height: auto; max-height: 550px; }
@media (min-width: 841px) { #region-map.funding-region-section .report-region-svg svg { max-width: 470px; max-height: 570px; } }
.report-region-shape { fill: #e8eeea; stroke: #7d9587; stroke-width: 1.15; fill-rule: evenodd; cursor: pointer; transition: fill .14s ease, stroke .14s ease; }
.report-region-shape.has-draft { fill: #cde6d6; }
.report-region-shape.has-published { fill: #91c7ac; }
.report-region-shape:hover:not(.is-active), .report-region-shape:focus-visible:not(.is-active), .report-region-shape.is-preview { fill: #a8d4bd; stroke: #236253; stroke-width: 1.8; outline: none; }
.report-region-shape.is-active { fill: #31745b; stroke: #154b3b; stroke-width: 2.1; outline: none; }
.report-region-shape:focus-visible { filter: drop-shadow(0 0 3px #0c4f42); }
.report-region-label { fill: #204b3c; font: 700 13px Pretendard, sans-serif; text-anchor: middle; pointer-events: none; paint-order: stroke; stroke: #f8faf8; stroke-width: 3px; stroke-linejoin: round; }
.report-region-callout { stroke: #5a7666; stroke-width: 1.3; pointer-events: none; }
.report-region-label.is-active { fill: #fff; stroke: #17543d; }
.report-region-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; color: #52675d; font-size: 12px; margin: 8px 0 14px; }
.report-region-legend span { display: inline-flex; align-items: center; gap: 6px; }
.report-region-swatch { display: inline-block; width: 15px; height: 15px; border: 1px solid #91a999; border-radius: 3px; }
.report-region-swatch--draft { background: #cde6d6; }
.report-region-swatch--published { background: #91c7ac; }
.report-region-swatch--plain { background: #e8eeea; }
.report-region-figure .report-fine { margin: 0; }
.report-region-panel { background: #fff; }
.report-region-panel-head { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.report-region-panel-head > div { min-width: 0; }
.report-region-unlock { flex: 0 0 auto; padding: 5px 9px; border: 1px solid #9bb8aa; border-radius: 5px; background: #fff; color: #20584f; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.report-region-unlock:hover, .report-region-unlock:focus-visible { background: #eef6f1; outline: 2px solid #9bb8aa; outline-offset: 2px; }
.report-region-unlock[hidden] { display: none; }
.report-region-panel .report-kicker { margin-bottom: 6px; }
.report-region-panel h3 { font-size: 23px; margin: 0 0 16px; }
.report-region-panel-block { border-top: 1px solid #e1e8e2; padding: 15px 0; }
.report-region-panel-block h4 { font-size: 17px; margin: 0 0 8px; }
.report-region-panel-block p { color: #52675d; margin: 0 0 8px; font-size: 14px; line-height: 1.65; }
.report-region-panel-block strong { color: #243531; }
.report-region-panel-block a { font-size: 14px; }
.report-region-report-count { margin-bottom: 10px !important; }
.report-region-report-list { display: grid; gap: 9px; margin-bottom: 10px; }
.report-region-report-card { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: center; gap: 11px; padding: 8px; border: 1px solid #d8e2da; border-radius: 7px; background: #f8faf8; }
.report-region-report-card img { display: block; width: 72px; height: 96px; object-fit: cover; border-radius: 3px; border: 1px solid #c5d4c9; box-shadow: 0 2px 5px #173e3514; }
.report-region-report-copy { display: grid; gap: 5px; min-width: 0; }
.report-region-report-copy small { color: #52675d; font-size: 11px; font-weight: 700; }
.report-region-report-copy strong, .report-region-report-copy a { color: #173e35; font-size: 14px; font-weight: 750; line-height: 1.45; }
.report-region-calls { padding: 0; margin: 6px 0 10px; list-style: none; }
.report-region-calls li { border-top: 1px solid #eef2ee; padding: 10px 0; font-size: 13px; }
.report-region-calls li a { display: block; font-weight: 650; line-height: 1.45; }
.report-region-calls li span { display: block; color: #52675d; margin-top: 3px; }
.report-region-share { border-top: 1px solid #e1e8e2; padding-top: 13px; display: grid; gap: 4px; }
.report-region-panel .report-region-action-link, .report-region-share a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; width: max-content; max-width: 100%; min-height: 35px; padding: 6px 10px; border: 1px solid; border-radius: 6px; font-size: 13px; font-weight: 700; line-height: 1.3; text-decoration: none; }
.report-region-panel .report-region-action-link { margin-top: 4px; border-color: #9bb8aa; background: #f7faf8; color: #20584f; }
.report-region-panel .report-region-action-link:hover { background: #eaf4ee; border-color: #5b9377; color: #174b3b; }
.report-region-panel .report-region-action-link:focus-visible { outline: 3px solid #236253; outline-offset: 3px; }
.report-region-share a { border-color: #d8c869; background: #fffdf0; color: #3a3422; }
.report-region-share a:hover { background: #fff7cf; border-color: #baa545; color: #2e291c; }
.report-region-share a:focus-visible { outline: 3px solid #236253; outline-offset: 3px; }
.report-region-share a img { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
.report-region-share span { color: #52675d; font-size: 12px; line-height: 1.5; }
.report-region-boundary { max-width: 100% !important; margin-top: 12px; }
@media (max-width: 840px) { .report-region-layout { grid-template-columns: 1fr; } .report-region-svg svg { max-width: 400px; } html[data-workbench] #region-map .report-region-figure h1 { font-size: 20px !important; } }
@media (prefers-reduced-motion: reduce) { .report-region-shape { transition: none; } }
