.police-status-page{min-height:100vh;background:linear-gradient(180deg,#f8fbff 0,#f1f5fb 100%)}
.police-status-hero{border-bottom:1px solid #dfe7f2;background:radial-gradient(circle at 78% 20%,rgba(37,99,235,.14),transparent 28%),linear-gradient(120deg,#fbfdff 0,#eef5ff 58%,#e7f1ff 100%)}
.police-status-hero-inner{min-height:270px;padding:44px 0;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:34px;align-items:center}.status-kicker{margin:0 0 12px;color:#2d64ad;font-size:11px;font-weight:900;letter-spacing:1.2px}.police-status-hero h1{margin:0;color:#10213c;font-size:clamp(40px,4.6vw,62px);line-height:1.03;letter-spacing:-2px}.police-status-hero h1 span{color:#2563eb}.police-status-hero-inner>div>p:last-child{max-width:760px;margin:18px 0 0;color:#5c6b80;font-size:14px;line-height:1.8}.status-live-card{padding:22px;border:1px solid #cdddf2;border-radius:18px;background:rgba(255,255,255,.84);box-shadow:0 14px 30px rgba(29,62,108,.08)}.status-live-card span{display:block;color:#5c6f8c;font-size:11px;font-weight:900}.status-live-card strong{display:block;margin:4px 0 8px;color:#1d5eb9;font-size:29px}.status-live-card p{margin:0;color:#6f7b8f;font-size:11px;line-height:1.65}
.police-status-shell{padding:24px 0 64px}.status-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.status-metric{padding:21px;border:1px solid #dfe7f1;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(27,48,82,.05)}.status-metric.primary{background:linear-gradient(135deg,#1d5ed8,#2e78f4);border-color:transparent;color:#fff}.status-metric>span{display:block;color:#62728a;font-size:11px;font-weight:800}.status-metric.primary>span,.status-metric.primary p{color:rgba(255,255,255,.78)}.status-metric strong{display:block;margin:7px 0 3px;color:#142844;font-size:32px;letter-spacing:-1.2px}.status-metric.primary strong{color:#fff}.status-metric strong small{margin-left:3px;font-size:13px}.status-metric p{margin:0;color:#8a96a6;font-size:10px}.status-update-note{margin:14px 0 18px;padding:14px 16px;border:1px solid #d9e4f2;border-radius:13px;background:#f7faff;color:#627188;font-size:11px;line-height:1.7}.status-update-note strong{display:block;margin-bottom:4px;color:#28476e}
.status-visual-grid.regional-v2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:16px}.police-map-card,.crime-ranking-card,.rank-card,.status-sources-card{padding:22px}.status-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.status-section-head h2{margin:2px 0 5px;font-size:23px;letter-spacing:-.5px}.status-section-head p{margin:0;color:#78869a;font-size:12px;line-height:1.6}.status-section-head.compact{margin-bottom:12px}.map-legend{display:flex;align-items:center;gap:7px;color:#7a8798;font-size:10px;white-space:nowrap}.map-legend span{width:13px;height:13px;border-radius:4px;background:linear-gradient(135deg,#cfe0f8,#245fbd);box-shadow:0 0 0 4px rgba(79,141,247,.09)}
.police-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:stretch}.police-map-canvas{position:relative;min-height:590px;overflow:hidden;border:1px solid #dce6f2;border-radius:19px;background:radial-gradient(circle at 50% 48%,#fff 0,#f1f6fd 67%,#eaf1fa 100%)}.korea-map-svg{position:absolute;left:50%;top:49%;width:67%;height:94%;transform:translate(-50%,-50%);filter:drop-shadow(0 12px 18px rgba(44,72,109,.08))}.north-land{fill:#e5eaf0;stroke:#c5cfdb;stroke-width:3}.south-land{fill:#d6e6f8;stroke:#82a9d7;stroke-width:3}.south-land.island{fill:#d6e6f8}.island-dot{fill:#d6e6f8;stroke:#82a9d7;stroke-width:2}.dmz-line{fill:none;stroke:#86a8cf;stroke-width:2.5;stroke-dasharray:7 6}.north-label{position:absolute;left:48%;top:18%;transform:translateX(-50%);color:#a0aab8;font-size:10px;font-weight:800;text-align:center;line-height:1.2}.north-label small{font-size:8px;font-weight:600}.region-pins{position:absolute;inset:0}.region-pin{position:absolute;transform:translate(-50%,-50%);min-width:42px;height:42px;padding:3px 6px;display:grid;place-items:center;align-content:center;border:2px solid rgba(255,255,255,.94);border-radius:12px;box-shadow:0 6px 14px rgba(35,75,130,.16);color:#15345e;cursor:pointer;transition:.18s ease;z-index:3}.region-pin:hover,.region-pin.active{transform:translate(-50%,-50%) scale(1.10);box-shadow:0 10px 22px rgba(37,99,235,.26);outline:3px solid rgba(37,99,235,.12);z-index:5}.region-pin strong{font-size:9px;line-height:1}.region-pin span{margin-top:3px;font-size:9px;font-weight:900;color:#234d85}.map-note{position:absolute;left:14px;bottom:10px;color:#8a96a8;font-size:9px}
.region-detail{padding:19px;border:1px solid #dfe7f2;border-radius:16px;background:#fbfdff}.region-eyebrow{color:#7890af;font-size:10px;font-weight:900;letter-spacing:.7px}.region-detail h3{margin:4px 0 3px;font-size:28px}.region-detail>p{margin:0 0 14px;color:#7a8797;font-size:11px}.region-primary-metrics{display:grid;gap:8px}.region-primary-metrics>div{padding:12px 13px;border:1px solid #dfe8f3;border-radius:12px;background:#fff}.region-primary-metrics>div.crime{background:linear-gradient(135deg,#f7fbff,#edf5ff)}.region-primary-metrics span{display:block;color:#7e8da1;font-size:9px}.region-primary-metrics strong{display:block;margin:3px 0;color:#1959aa;font-size:20px}.region-primary-metrics small{display:block;color:#98a3b1;font-size:8px;line-height:1.45}.region-infra-title{margin:15px 0 7px;color:#344a68;font-size:10px;font-weight:900}.region-infra-title small{margin-left:4px;color:#95a0ae;font-size:8px;font-weight:600}.region-detail-grid.infra{display:grid;grid-template-columns:1fr 1fr;gap:7px}.region-detail-grid.infra div{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e3eaf3}.region-detail-grid.infra span{display:block;color:#8290a3;font-size:8px}.region-detail-grid.infra strong{display:block;margin-top:2px;color:#355a8a;font-size:16px}.detail-footnote{display:block;margin-top:11px;color:#96a0ae;font-size:8px;line-height:1.5}
.crime-rate-summary{margin-bottom:13px;padding:12px;border:1px solid #e4e9f0;border-radius:12px;background:#fafbfd}.crime-rate-summary strong{display:block;color:#44566f;font-size:10px}.crime-rate-summary p{margin:4px 0 0;color:#8792a1;font-size:9px;line-height:1.55}.crime-ranking{display:grid;gap:7px;max-height:600px;overflow:auto;padding-right:3px}.crime-rate-row{width:100%;padding:7px 2px;border:0;background:transparent;text-align:left;cursor:pointer}.crime-rate-row:hover strong{color:#2563eb}.crime-rate-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.crime-rate-head strong{font-size:11px}.crime-rate-head span{color:#65758b;font-size:9px;font-weight:800}.crime-rate-track{height:6px;margin-top:4px;border-radius:999px;background:#edf1f6;overflow:hidden}.crime-rate-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#a6c8ff,#2d67cc)}.metric-loading,.metric-empty{margin:20px 0;color:#8996a7;font-size:10px}.metric-empty{padding:18px;border:1px dashed #ccd8e7;border-radius:12px;text-align:center}.metric-empty strong{display:block;color:#50627a;font-size:11px}.metric-empty p{margin:5px 0 0;line-height:1.5}
.rank-card{margin-top:16px}.rank-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}.rank-status-label{display:flex;justify-content:space-between;gap:12px}.rank-status-label strong{font-size:11px}.rank-status-label span{color:#8290a3;font-size:9px}.rank-status-track{height:8px;margin-top:5px;border-radius:999px;background:#edf2f7;overflow:hidden}.rank-status-track i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8db8ff,#2f73ec)}
.status-explain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.status-explain-grid article{padding:20px}.status-icon{width:34px;height:34px;display:grid;place-items:center;margin-bottom:10px;border-radius:10px;background:#edf4ff;color:#2563eb;font-weight:900}.status-explain-grid h3{margin:0 0 8px;font-size:15px}.status-explain-grid p{margin:0;color:#66758a;font-size:11px;line-height:1.7}.status-sources-card{margin-top:16px}.status-sources-card h2{margin:2px 0 14px}.status-source-links{display:flex;flex-wrap:wrap;gap:8px}.status-source-links a{padding:9px 11px;border:1px solid #d8e4f3;border-radius:10px;background:#f7fbff;color:#265d9f;font-size:10px;font-weight:800;text-decoration:none}.source-disclaimer{margin:13px 0 0;color:#8a96a6;font-size:9px;line-height:1.6}
@media(max-width:1180px){.site-nav{gap:16px}.site-nav a{font-size:12px}.police-status-hero-inner{grid-template-columns:1fr}.status-live-card{max-width:520px}.status-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.status-visual-grid.regional-v2{grid-template-columns:1fr}.crime-ranking-card{order:2}}
@media(max-width:860px){.police-map-layout{grid-template-columns:1fr}.police-map-canvas{min-height:550px}.region-detail{display:block}.rank-bars{grid-template-columns:1fr}.status-explain-grid{grid-template-columns:1fr}.status-section-head{flex-direction:column}.map-legend{white-space:normal}}
@media(max-width:720px){.police-status-hero-inner{padding:30px 0}.police-status-hero h1{font-size:38px}.police-status-shell{padding-top:16px}.status-metrics{grid-template-columns:1fr 1fr;gap:9px}.status-metric{padding:16px}.status-metric strong{font-size:25px}.police-map-card,.crime-ranking-card,.rank-card,.status-sources-card{padding:16px}.police-map-canvas{min-height:500px}.korea-map-svg{width:82%}.region-pin{min-width:37px;height:37px;border-radius:10px}.region-pin strong{font-size:8px}.region-pin span{font-size:8px}}
@media(max-width:480px){.status-metrics{grid-template-columns:1fr}.police-map-canvas{min-height:460px}.korea-map-svg{width:92%}.status-source-links{display:grid}.status-source-links a{display:block}.region-detail{padding:15px}}