.regional-controls{position:absolute;top:110px;left:12px;right:12px;z-index:6;display:flex;justify-content:space-between;align-items:center;gap:8px}
.map-section:not(.regional-mode) .map-toolbar{top:153px}
.scope-tabs,.projection-tabs{display:flex;border:1px solid #c5d4d3;border-radius:4px;background:#ffffffed;overflow:hidden}
.scope-tabs button,.projection-tabs button{font-size:10px;padding:8px 9px;color:#4a666d;border-right:1px solid #dce5e2;white-space:nowrap;line-height:1.3}
.scope-tabs button:last-child,.projection-tabs button:last-child{border-right:0}
.scope-tabs button.active,.projection-tabs button.active{color:#17695d;background:#e2efea}
.scope-tabs button:hover,.projection-tabs button:hover{background:#edf5f1;color:#17695d}
.projection-tabs [data-projection]{display:none}
#pause-animation{min-width:92px}
#regional-canvas,#regional-labels{position:absolute;inset:188px 9px 139px;z-index:0;overflow:hidden}
#regional-canvas canvas{display:block;touch-action:none}
#regional-labels{z-index:2;pointer-events:none}
.regional-label{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;padding:3px 5px;white-space:nowrap;border-radius:3px;font-size:11px;color:#c9e1df;background:#14353880;text-shadow:0 1px 6px #071517;transition:color .18s,background .18s}
.regional-label.selected{color:#e5fff0;background:#236358aa;font-weight:600;box-shadow:0 0 15px #80dbc622}
.regional-label:hover{color:#fff;background:#3c7e72c9}
.regional-legend,.regional-layers,#region-card{display:none}
.regional-mode.map-section{background:radial-gradient(ellipse at 50% 52%,#254b4f,#132d32 70%,#13282d);border-color:#3d5b5f;box-shadow:inset 0 0 70px #081e262b}
.regional-mode .map-top h1{color:#e3eee8;text-shadow:none}
.regional-mode .map-eyebrow{color:#9bc4bd}
.regional-mode .map-top p{color:#a9c8c4;font-size:9px}
.regional-mode .coordinate{display:none}
.regional-mode .scope-tabs,.regional-mode .projection-tabs{background:#17383fe8;border-color:#4d7a7d}
.regional-mode .scope-tabs button,.regional-mode .projection-tabs button{color:#abcaca;border-color:#4d747666}
.regional-mode .scope-tabs button.active,.regional-mode .projection-tabs button.active{color:#d7fff0;background:#2a6c63}
.regional-mode .scope-tabs button:hover,.regional-mode .projection-tabs button:hover{background:#30655f;color:#fff}
.regional-mode .projection-tabs [data-projection]{display:block}
.regional-mode .map-toolbar{top:153px}
.regional-mode .map-toolbar .search-box,.regional-mode .map-toolbar .small-btn,.regional-mode .map-side-tools{background:#17383ee8;color:#b8d5d1;border-color:#4e7a7c;box-shadow:none}
.regional-mode .search-box input{color:#e4f8ef}
.regional-mode .search-box input::placeholder{color:#a4c6c3}
.regional-mode .search-box kbd{color:#9cbbb8}
.regional-mode .map-side-tools{top:240px}
.regional-mode .icon-btn{color:#b2d7ce}
.regional-mode .icon-btn:hover{background:#3a6a61;color:#d7fff1}
.regional-mode #top-view,.regional-mode #lighting,.regional-mode .map-scale,.regional-mode .scene-legend,.regional-mode .layer-bar{display:none}
.regional-mode .compass{top:186px;color:#8fbcb5}
.regional-mode .compass svg{fill:#86b7ae}
.regional-mode .scene-bottom{bottom:10px}
.regional-mode .regional-legend{display:flex;justify-content:center;gap:20px;margin-bottom:13px;font-size:9px;color:#a4c7c0}
.regional-legend span{display:flex;align-items:center;gap:6px}
.regional-legend i{display:block;width:12px;height:1px;background:#73bbaa}
.regional-legend span:nth-child(2) i{background:#89cdd2}
.regional-legend span:nth-child(3) i{width:4px;height:4px;border-radius:50%;background:#a5f2ca;box-shadow:0 0 7px #8cdcc47a}
.regional-mode .regional-layers{display:flex;justify-content:center;align-items:center;gap:6px;background:#173a3edb;border:1px solid #4a7373;border-radius:4px;max-width:430px;margin:0 auto;padding:8px 13px;backdrop-filter:blur(5px)}
.regional-layers>span{color:#9dbeb8;font-size:10px;padding-right:13px;margin-right:5px;border-right:1px solid #4f7370}
.regional-layers button{font-size:10px;padding:6px 14px;border:1px solid transparent;border-radius:3px;color:#809e9b}
.regional-layers button.active{color:#c3eadb;background:#2f625944;border-color:#76a39488}
.regional-layers button:hover{background:#3b6c60;color:#defff1}
.regional-mode .map-caption,.regional-mode .map-caption button{color:#a0bcb9}
.regional-mode #region-card{display:grid;grid-template-columns:auto 1fr;gap:6px 13px;position:absolute;left:16px;bottom:136px;z-index:3;background:#18383dd9;border:1px solid #4f7773;border-left:2px solid #9dd7bf;border-radius:3px;padding:12px 15px;min-width:240px;box-shadow:0 6px 18px #03131720;backdrop-filter:blur(5px)}
.region-card-type{color:#a1c3ba;font-size:9px;align-self:center}
#region-card strong{font-size:17px;color:#e2f3e7;letter-spacing:1px;font-weight:500}
#region-card>span:nth-child(3){color:#a3c0ba;font:10px CityNumbers,var(--font);grid-column:1/3}
#region-card small{color:#a5bdb7;font-size:8px;grid-column:1/3}
.regional-mode .feature-card{background:#f9fcfa;left:auto;right:17px;bottom:140px;width:225px;z-index:7}
.regional-mode .search-results{top:192px;background:#f9fcfa}
.regional-mode .search-results button{padding:10px 12px}

/* 真实百分比决定环形扇区和柱条宽度；动效只改变视角、光照和入场进度。 */
.donut.has-3d{position:relative;background:none!important;box-shadow:none!important;padding:0;transform:none;overflow:visible}
.donut.has-3d canvas{position:absolute;inset:0;z-index:1;filter:drop-shadow(0 6px 4px #334e4d16)}
.donut.has-3d>div{position:absolute;inset:0;z-index:2;background:none;transform:translateY(-3px);pointer-events:none}
.donut.has-3d strong{font-size:22px;line-height:1}
.donut.has-3d span{font-size:7px;margin-top:1px;line-height:1}
.bar-chart i{height:9px;background:#ecf0ef;border-radius:1px;perspective:600px}
.bar-chart b{position:relative;height:100%;border-radius:0;box-shadow:0 4px 4px #30493f12;transform-origin:left;animation:bar-reveal 1.2s cubic-bezier(.16,1,.3,1) both,bar-sheen 7s 1.2s ease-in-out infinite}
.bar-chart b:before{content:'';position:absolute;top:-4px;left:2px;right:-2px;height:4px;transform:skewX(-45deg);background:#8eb5aa;transform-origin:bottom left}
.bar-chart b:after{content:'';display:block;position:absolute;top:-2px;bottom:2px;right:-4px;width:4px;background:#37695e;transform:skewY(-45deg);transform-origin:left bottom}
.bar-chart>div:nth-child(2) b:before{background:#b1c4cb}.bar-chart>div:nth-child(2) b:after{background:#647d88}
.bar-chart>div:nth-child(3) b:before{background:#d3c3aa}.bar-chart>div:nth-child(3) b:after{background:#8b7554}
.air-ring{box-shadow:0 4px 6px #3c5b4e13}
.air-ring:after{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid transparent;border-top-color:#7ca797;border-right-color:#7ca79744;animation:gauge-sweep 7s linear infinite;pointer-events:none}
.air-ring>div{box-shadow:inset 0 2px 4px #34574810}
.app-shell.motion-paused *,.app-shell.motion-paused *:before,.app-shell.motion-paused *:after{animation-play-state:paused!important}
@keyframes bar-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes bar-sheen{0%,100%{filter:brightness(1)}50%{filter:brightness(1.12)}}
@keyframes gauge-sweep{to{transform:rotate(360deg)}}
@media(min-width:1750px){.regional-controls{top:118px;left:14px;right:14px}.scope-tabs button,.projection-tabs button{font-size:11px;padding:9px 12px}.regional-mode .map-toolbar{top:165px}#regional-canvas,#regional-labels{inset:202px 10px 152px}.regional-label{font-size:12px;padding:4px 6px}.regional-mode .map-side-tools{top:280px}.regional-mode .compass{top:207px}.regional-mode #region-card{bottom:148px;min-width:275px;padding:14px 18px}.regional-mode .regional-layers{padding:10px 15px}.regional-layers button{font-size:11px}.regional-mode .regional-legend{font-size:10px}.regional-mode .search-results{top:204px}.regional-mode .feature-card{bottom:153px}.donut.has-3d strong{font-size:24px}.donut.has-3d span{font-size:8px}}
@media(max-height:850px) and (min-width:1001px){.regional-controls{top:106px}.regional-mode .map-toolbar{top:146px}#regional-canvas,#regional-labels{inset:181px 5px 128px}.regional-mode #region-card{bottom:127px;padding:9px 12px;min-width:235px}.regional-mode .map-side-tools{top:234px}.regional-mode .compass{top:179px}.regional-mode .regional-legend{margin-bottom:9px}.bar-chart i{height:5px}.bar-chart b:before{height:3px;top:-3px}.bar-chart b:after{width:3px;right:-3px}}
@media(max-width:1250px){.scope-tabs button,.projection-tabs button{font-size:9px;padding:8px 7px}#pause-animation{min-width:83px}.regional-label{font-size:9px}.regional-mode #region-card{min-width:215px}.regional-mode #region-card strong{font-size:15px}.regional-mode .feature-card{width:210px}.regional-mode .regional-legend{font-size:8px;gap:13px}.regional-layers button{padding:6px 10px}.regional-layers>span{font-size:9px}}
@media(max-width:1000px){.regional-mode.map-section{height:690px}.regional-controls{top:116px}.regional-mode .map-toolbar{top:159px}#regional-canvas,#regional-labels{inset:195px 10px 145px}.regional-label{font-size:11px}.regional-mode #region-card{bottom:141px}.regional-mode .map-side-tools{top:260px}.regional-mode .compass{top:194px}.bar-chart i{height:8px}}
@media(max-width:600px){.regional-mode.map-section{height:710px}.regional-controls{top:107px;left:10px;right:10px;flex-wrap:wrap;gap:7px}.scope-tabs{width:100%}.scope-tabs button{flex:1;font-size:10px;padding:8px}.projection-tabs{margin-left:auto}.projection-tabs button{font-size:10px;padding:7px 10px}.regional-mode .map-top p{max-width:300px;line-height:1.7;font-size:8px}.regional-mode .map-toolbar{top:188px;left:10px}.regional-mode .search-results{top:226px;right:10px}#regional-canvas,#regional-labels{inset:229px 0 148px}.regional-label{font-size:9px;padding:3px}.regional-mode .map-side-tools{top:271px;right:6px}.regional-mode .compass{top:221px;right:10px}.regional-mode #region-card{left:11px;bottom:132px;min-width:217px;padding:9px 12px;gap:4px 8px}.regional-mode #region-card strong{font-size:14px}.regional-mode #region-card small{font-size:7px}.regional-mode .regional-legend{font-size:7px;gap:13px;margin-bottom:11px}.regional-layers{padding:7px!important}.regional-layers>span{padding-right:8px;margin-right:2px;font-size:9px}.regional-layers button{font-size:10px;padding:6px 11px}.regional-mode .feature-card{top:228px;bottom:auto;right:10px;width:210px}.regional-mode .map-caption{line-height:1.5}.regional-mode .map-caption>span{max-width:160px}.regional-mode .map-caption button{max-width:126px;text-align:right}.donut.has-3d strong{font-size:22px}.donut.has-3d span{font-size:7px}}
@media(prefers-reduced-motion:reduce){.bar-chart b,.air-ring:after{animation:none!important;transform:none!important}}
@media(min-width:1750px){.map-section:not(.regional-mode) .map-toolbar{top:165px}}
@media(max-width:600px){.map-section:not(.regional-mode) .regional-controls{top:107px}.map-section:not(.regional-mode) .map-toolbar{top:188px}}
.place-item>span:not(.place-icon){display:flex;flex-direction:column;gap:4px;min-width:0}
.place-item strong{margin:0;line-height:1.3}.place-item small{display:block;line-height:1.3}
@media(max-height:850px) and (min-width:1001px){.places-list,.manufacturing-panel .bar-chart{min-height:0}.place-item{padding:5px 6px}.place-item>span:not(.place-icon){gap:3px}}
