:root{--ink:#203d42;--muted:#60777a;--line:#d8e1df;--paper:#fffefa;--accent:#14665b;--amber:#a56e27}*{box-sizing:border-box}body{margin:0;background:#f1f4f1;color:var(--ink);font:14px/1.65 "Microsoft YaHei",system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:7px;padding:7px 12px}button:hover{border-color:var(--accent);background:#eef5f1}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ba8d3f;outline-offset:2px}button:disabled{opacity:.4;cursor:default}a{color:var(--accent);overflow-wrap:anywhere}header{display:flex;align-items:center;justify-content:space-between;padding:23px 32px 20px;background:#183e42;color:white;gap:16px}.brand{display:flex;gap:14px;align-items:center}.mark{border:1px solid #9db7ae;border-radius:5px;font-size:23px;padding:4px 10px;color:#d7cba4}h1{font-size:23px;letter-spacing:2px;margin:0}.brand p{margin:2px 0 0;color:#b5ccca;font-size:12px;letter-spacing:1px}.date{text-align:right;font-size:12px;color:#b4ccc9}.date strong{color:#f1e6ca}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);margin:20px 28px 0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.stat{background:var(--paper);padding:13px 22px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.stat strong{font-size:28px;font-weight:600;line-height:1.3}.stat span{font-size:12px;color:var(--muted)}.filters{margin:16px 28px;display:flex;align-items:end;gap:12px;flex-wrap:wrap}.filters label{font-size:11px;color:var(--muted);min-width:100px}.filters .search{flex:1;min-width:220px}input[type=search],select{display:block;border:1px solid #cbd7d2;background:white;border-radius:6px;padding:8px 9px;min-height:40px;color:var(--ink);width:100%;margin-top:4px}.filters .check{display:flex;align-items:center;gap:5px;font-size:12px;min-height:40px;white-space:nowrap}input[type=checkbox]{accent-color:var(--accent)}main{margin:0 28px;display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:18px;align-items:start}.map-panel,.results-panel,.detail{background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 19px 10px;gap:8px}h2{font-size:18px;line-height:1.5;margin:0;overflow-wrap:anywhere}.eyebrow{font-size:10px;color:var(--muted);letter-spacing:1px}.secondary{font-size:12px;padding:7px 11px}.panel-heading>span{font-size:12px;color:var(--muted)}#city-chips{display:flex;flex-wrap:wrap;gap:7px;padding:3px 18px 14px}#city-chips button{font-size:12px;border-radius:4px;padding:3px 8px;background:#f4f6f2}#city-chips button.active{background:var(--accent);color:white;border-color:var(--accent)}.map-wrap{position:relative;background:#e9efeb;overflow:hidden;border-block:1px solid var(--line)}#map{display:block;width:100%;height:480px;touch-action:none;cursor:grab}#map.dragging{cursor:grabbing}.city-shape{fill:#d8e6d8;fill-opacity:.38;stroke:#6e9690;stroke-width:1;cursor:pointer}.city-shape:hover,.city-shape.selected{fill:#9bc2ac;fill-opacity:.38;stroke:#1c7061;stroke-width:2}.city-label{font-size:13px;fill:#315853;paint-order:stroke;stroke:white;stroke-width:4px;pointer-events:none}.city-badge{cursor:pointer;fill:white;stroke:#78958c;stroke-width:1.5}.city-number{font-size:12px;font-weight:600;fill:#294e47;pointer-events:none}.mine-point{fill:#176f65;stroke:white;stroke-width:2;cursor:pointer}.mine-point.approx{fill:#ad7831;stroke-dasharray:3 2}.mine-point.chosen{fill:#ac4b34;stroke:#fff;stroke-width:3}.mine-area{fill:#c98c38;fill-opacity:.11;stroke:#a8772f;stroke-dasharray:5 4;stroke-width:1.7;cursor:pointer}.mine-area.chosen{stroke:#aa4937;fill:#e49771;fill-opacity:.22;stroke-width:3}.mine-label{font-size:11px;fill:#3c574c;stroke:white;stroke-width:3;paint-order:stroke;pointer-events:none}.map-controls{position:absolute;top:13px;left:13px;display:flex;flex-direction:column;gap:5px}.map-controls button{width:36px;height:35px;padding:2px;font-size:20px;box-shadow:0 2px 4px #1b433215}.map-options{position:absolute;top:13px;right:13px;background:#fffefbe8;padding:4px 8px;border-radius:5px;font-size:11px;max-width:210px}.map-options span{display:block;font-size:10px;color:var(--amber)}.attribution{position:absolute;bottom:0;right:0;font-size:10px;padding:1px 5px;background:#fffffff0}.map-note{display:flex;gap:15px;flex-wrap:wrap;font-size:11px;padding:12px 18px 0;color:var(--accent)}.amber{color:var(--amber)}.muted{color:var(--muted);font-size:12px}#map-count{padding:0 18px;margin:5px 0}.disclaimer{font-size:11px;color:var(--muted);padding:0 18px 12px;margin:0}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 15px;gap:8px}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 5px;font-size:12px;background:transparent}.tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}#results{max-height:595px;overflow:auto}.record{width:100%;border:0;border-bottom:1px solid #e3e9e3;border-radius:0;padding:13px 18px;text-align:left;display:block;background:transparent}.record.selected{background:#ecf3e9;border-left:3px solid var(--accent);padding-left:15px}.record strong{display:block;font-size:13px;font-weight:600;margin-bottom:3px}.record small{color:var(--muted);font-size:11px;display:block;overflow-wrap:anywhere}.record .capacity{margin-top:5px;color:var(--accent);font-size:11px}.pill{display:inline-block;font-size:10px;margin:6px 5px 0 0;padding:1px 6px;border-radius:3px;background:#edf1ec;color:#5b736c}.pill.warn{background:#faf0db;color:#94641f}.pager{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;gap:6px;font-size:11px}.pager button{font-size:11px;padding:5px 8px}.empty{padding:30px 20px;color:var(--muted)}.detail{grid-column:1/-1}.detail .panel-heading{border-bottom:1px solid var(--line)}#detail-body{padding:15px 22px 24px;overflow-wrap:anywhere}#detail-body h3{font-size:14px;margin:22px 0 9px;border-left:3px solid #779d8e;padding-left:8px}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fact{padding:9px 11px;background:#f3f5ef}.fact span{display:block;color:var(--muted);font-size:11px}.fact b{font-weight:500;font-size:12px}.warning{border:1px solid #e0cc9e;background:#fcf5e5;padding:10px 13px;color:#75511f;margin:13px 0;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric{padding:12px;border:1px solid var(--line);border-radius:5px;font-size:12px}.metric strong{font-size:21px;font-weight:500;display:block;margin:2px 0}.metric small{display:block;color:var(--muted);font-size:11px}.source,.evidence{border-bottom:1px solid var(--line);padding:10px 0;font-size:12px}.source small{display:block;color:var(--muted)}.evidence p{margin:4px 0}.table-scroll{max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}td,th{border:1px solid var(--line);padding:7px;text-align:left;white-space:nowrap}.raw-notice{white-space:pre-wrap;font:12px/1.8 inherit;max-height:500px;overflow:auto}footer{font-size:11px;color:var(--muted);padding:22px 30px}#error{position:fixed;bottom:18px;left:20px;right:20px;background:#7d382b;color:white;padding:12px 20px;border-radius:5px;z-index:9}
@media(min-width:1600px){body{max-width:1800px;margin:auto}#map{height:560px}}@media(max-width:1050px){main{grid-template-columns:minmax(0,1fr) 300px}.stat{padding:12px 14px}.stat strong{font-size:25px}.metrics,.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){header{padding:18px 16px}h1{font-size:19px;letter-spacing:1px}.brand{gap:9px}.brand p{font-size:10px}.date{font-size:10px}.stats{margin:14px 12px 0;grid-template-columns:repeat(2,1fr)}.stat{padding:10px 14px}.stat strong{font-size:24px}.filters{margin:12px;gap:8px}.filters label{min-width:calc(50% - 6px);flex:1}.filters .search{min-width:100%}.filters .check{min-width:65%;flex:initial}.filters>button{margin-left:auto}main{margin:0 12px;grid-template-columns:1fr;gap:12px}#map{height:370px}.results-panel{grid-row:auto}#results{max-height:440px}.detail{grid-column:1}.panel-heading{padding:12px 14px 8px}#city-chips{padding:4px 13px 12px;gap:5px}#city-chips button{font-size:11px}.map-note{padding:10px 13px 0;gap:7px;font-size:10px}.disclaimer{font-size:10px}#detail-body{padding:12px}.metrics,.facts{grid-template-columns:1fr}footer{padding:15px}.city-label{font-size:14px}.map-options{max-width:160px}.map-controls button{width:38px;height:36px}}

.province-nav{display:flex;gap:6px;align-items:center;margin:0 12px}.province-nav a{display:inline-block;padding:6px 10px;border:1px solid #9dada8;border-radius:6px;color:inherit;text-decoration:none;white-space:nowrap}.province-nav a[aria-current]{background:#1c5747;color:#fff}header{flex-wrap:wrap;gap:8px}@media(max-width:600px){.province-nav{margin:0}.province-nav a{padding:5px 9px}}

#retry-tiles{font-size:11px;padding:3px 7px;margin-top:4px}.map-options{max-width:230px}#tile-status{display:block;font-size:10px;line-height:1.5;max-width:205px}.map-options [hidden]{display:none!important}

.scope-note{max-width:1400px;margin:0 auto 16px;padding:0 28px;line-height:1.6}@media(max-width:650px){.scope-note{padding:0 12px}}

.mine-point.auction{fill:#fff;stroke:#75449b;stroke-dasharray:2 1}.mine-area.auction{stroke:#75449b;fill:#a685c126;stroke-dasharray:6 3}.mine-point.auction.chosen{fill:#75449b}
