@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#2ecc71;--text-color:#333;--bg-color:#f5f5f5;--navbar-bg:rgba(255, 255, 255, 0.9);--navbar-shadow:0 2px 10px rgba(0, 0, 0, 0.1);--font-size-base:16px;--line-height-base:1.6;--transition-speed:0.3s;--focus-outline-color:#2ecc71;--focus-outline-width:3px}body.accessibility-mode{--primary-color:#0066cc;--text-color:#000;--bg-color:#fff;--navbar-bg:rgba(255, 255, 255, 1);--navbar-shadow:0 2px 10px rgba(0, 0, 0, 0.2);--font-size-base:18px;--line-height-base:1.8}body{font-family:"Microsoft YaHei",sans-serif;background:var(--bg-color);color:var(--text-color);line-height:var(--line-height-base);font-size:var(--font-size-base);transition:all .3s ease;text-align:left}#citizen-feedback-optimization>.container>p,#luoyang-model-reveal>.container>p,#spatial-decoding>.container>p,.analysis-section p,.container p,.content-block p,.cost-challenge-analysis>p,.data-methodology-section p,.feedback-heatmap-analysis .analysis-interpretation p,.library-showcase-section>p,.luoyang-summary p,.main-section p,.management-response p,.modal-description p,.model-details p,.operation-snapshot .analysis-text-wrapper p,.reference-value p,.spatial-planning-analysis p,.story-module-full p,.timeline-card .card-content p:not(.data-highlight):not(.data-context),.why-205-section p,div[style*="background-color: #f8f9fa"]>p[data-i18n],p[data-i18n=map_guide_interpret_desc]{text-align:left;text-indent:2em;margin-bottom:1em}.achievement-desc,.belief-intro p,.belief-item p,.chart-description-brief,.copyright p,.credits p,.data-description p,.data-source p,.demo-data-notice,.dialogue-box p,.disclaimer p,.emphasis,.evidence-box p,.features-grid .feature-card p,.feedback-quote,.final-message p,.findings-list li,.findings-list p,.footer-info p,.footer-links a,.highlight,.impact-group li,.insights p,.intro-questions ul p,.key-stats .stat-label,.library-caption p,.link-item,.map-guide-container p,.map-guide-container ul p,.modal-details ul li,.policy-note p,.present-intro,.section-title,.stat-box .stat-label,.stats-container .stat-label,.sub-section-title,.subtitle,.tag,.timeline-intro p,.we-believe,h1,h2,h3,h4,h5,h6,p.data-context,p.data-highlight,p[style*="text-align: center"]{text-indent:0!important}.chart-description-brief,.intro-questions p[data-i18n=intro_guide_v3_part1],.library-caption,.library-showcase .data-source,.map-links,.section-title,.showcase-item.library-card .library-caption,.stats-container,.stats-container .stat-item,.sub-section-title,.timeline-intro,h2,h3,h4,h5,h6,p.data-context,p.data-highlight{text-align:center}.data-source{text-align:right}@media (max-width:768px){.data-source{text-align:center}}.content-container{margin-top:20px;min-height:calc(100vh - 40px)}.accessibility-buttons{position:fixed;bottom:20px;right:20px;z-index:1001;display:flex;flex-direction:column;gap:10px;background:var(--navbar-bg);padding:10px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.2)}.accessibility-buttons button{display:flex;justify-content:center;align-items:center;width:40px;height:40px;border:2px solid var(--primary-color);border-radius:50%;background:0 0;color:var(--text-color);cursor:pointer;transition:all .3s ease}.accessibility-buttons button[aria-pressed=true]{background:var(--primary-color);color:var(--bg-color)}.accessibility-buttons button:hover{opacity:.9;transform:translateY(-2px)}.accessibility-buttons button i{font-size:1.2em}body.font-size-large{--font-size-base:20px}body.font-size-larger{--font-size-base:22px}:root[class~=high-contrast]{--primary-color:#ffff00;--text-color:#ffffff;--bg-color:#000000;--navbar-bg:#000000;--navbar-shadow:0 2px 10px rgba(255, 255, 255, 0.2)}:root[class~=high-contrast] .amap-info-content,:root[class~=high-contrast] .amap-info-outer,:root[class~=high-contrast] .input-card,:root[class~=high-contrast] .input-item,:root[class~=high-contrast] input,:root[class~=high-contrast] select,:root[class~=high-contrast] textarea{background-color:#000!important;color:#fff!important;border:1px solid #ff0!important}:root[class~=high-contrast] .btn{background-color:#333!important;color:#ff0!important;border:1px solid #ff0!important}:root[class~=high-contrast] .btn.active,:root[class~=high-contrast] .btn:hover{background-color:#ff0!important;color:#000!important}:root[class~=high-contrast] .dialogue-box,:root[class~=high-contrast] .feature-card,:root[class~=high-contrast] .problem-item,:root[class~=high-contrast] .stat-item,:root[class~=high-contrast] .timeline-card{background-color:#333!important;color:#fff!important;border:1px solid #ff0!important}:root[class~=high-contrast] a{color:#ff0!important;text-decoration:underline!important}a:focus,button:focus{outline:3px solid var(--primary-color);outline-offset:3px}[data-theme=high-contrast]{--primary-color:#ffff00;--text-color:#ffffff;--bg-color:#000000;--navbar-bg:rgba(0, 0, 0, 0.9)}:root[data-font-size=large]{--font-size-base:20px}:root[data-font-size=x-large]{--font-size-base:24px}:root[data-line-height=increased]{--line-height-base:2}:focus{outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:2px}.language-switch{position:fixed;top:20px;right:20px;z-index:1001;display:flex;gap:10px}.language-switch button{display:flex;justify-content:center;align-items:center;width:40px;height:40px;border:2px solid var(--primary-color);border-radius:50%;background:0 0;color:var(--text-color);cursor:pointer;transition:all .3s ease}.language-switch button.active{background:var(--primary-color);color:#fff}.language-switch button:hover{opacity:.9;transform:translateY(-2px)}.language-switch button i{font-size:1.2em;margin-right:2px}.lang-text{font-size:.8em;font-weight:700}@media (max-width:768px){.accessibility-buttons{bottom:10px;right:10px;flex-direction:row;flex-wrap:wrap}.language-switch{top:10px;right:10px}.lang-text{display:none}.language-switch button i{margin-right:0}}@media print{.accessibility-buttons,.language-switch{display:none}}.container{max-width:1200px;margin:0 auto;padding:40px 20px}.subtitle,h1{text-align:center;color:#2c3e50;margin-bottom:40px;font-size:2.5em}.subtitle{color:#7f8c8d;margin-bottom:30px;font-size:1.2em}.timeline{position:relative;max-width:1000px;margin:0 auto;background:url(static/picture/生长背景.png)no-repeat bottom center;background-size:95%;padding:40px 0;border-radius:12px;box-shadow:0 5px 15px rgba(0,0,0,.08)}.timeline::after{content:"";position:absolute;width:6px;background:linear-gradient(to bottom,#2ecc71,#27ae60,#219653,#1e874b);top:0;bottom:0;left:50%;margin-left:-3px;z-index:1}.timeline-item{padding:10px 40px;position:relative;width:50%;animation:fadeIn 1s ease-in;z-index:2}.timeline-item::after{content:"🌱";position:absolute;width:30px;height:30px;right:-17px;background-color:#fff;border:4px solid #2ecc71;top:15px;border-radius:50%;z-index:3;font-size:16px;line-height:22px;text-align:center;display:flex;align-items:center;justify-content:center}.left{left:0}.right{left:50%}.right::after{left:-16px}.content{padding:20px 30px;background-color:rgba(255,255,255,.85);position:relative;border-radius:6px;box-shadow:0 3px 10px rgba(0,0,0,.1);z-index:2}.content h2{color:#2ecc71;margin-bottom:10px;font-size:1.5em}.content ul{margin-left:20px;padding-left:0;list-style-position:outside}.content li{margin-bottom:8px;text-indent:0}.content li p,.impact-group li p{text-indent:0!important;margin-bottom:0}.policy{color:#2980b9;font-weight:500}.content h2,.growth-stage{text-align:left;text-indent:0}.growth-stage{font-size:.9em;color:#7f8c8d;margin-top:5px;font-style:italic}.map-preview{margin-top:60px;text-align:center;padding:30px 0;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.map-preview h2{color:#2c3e50;margin-bottom:20px;text-align:center;text-indent:0}.map-links{display:flex;justify-content:center;gap:30px;margin-top:20px}.map-link{padding:12px 25px;background-color:#2ecc71;color:#fff;text-decoration:none;border-radius:30px;font-weight:700;transition:all .3s ease;display:inline-flex;align-items:center}.map-link:hover{transform:translateY(-3px);box-shadow:0 5px 15px rgba(46,204,113,.4)}.map-link svg{margin-right:8px}@media screen and (max-width:600px){.timeline::after{left:31px;z-index:1}.timeline-item{width:100%;padding-left:70px;padding-right:25px;z-index:2}.timeline-item::after{left:15px;z-index:3}.right{left:0}.map-links{flex-direction:column;align-items:center}}.data-analysis{max-width:1200px;margin:60px auto;padding:0 20px}.analysis-section{background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:30px;margin-bottom:40px}.chart-container{max-width:600px;margin:0 auto 30px;height:350px;position:relative}.demo-data-notice{position:absolute;top:10px;right:10px;background-color:rgba(255,193,7,.2);color:#856404;padding:5px 10px;border-radius:4px;font-size:.8em;border:1px solid rgba(255,193,7,.4);z-index:10}.cost-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:20px 0}.cost-item{background:#f8f9fa;padding:15px;border-radius:6px;text-align:center}.cost-label{font-weight:700;color:#2c3e50;text-indent:0}.cost-value{color:#e74c3c;font-size:1.2em;text-indent:0}.cost-percent{color:#7f8c8d;font-size:.9em;text-indent:0}.funding-sources{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:6px}.funding-sources p{text-indent:2em;text-align:left;margin-bottom:1em}.funding-sources ul{margin-left:20px;margin-bottom:1em}.funding-sources li{text-indent:0;margin-bottom:.5em}.feedback-analysis{margin-top:40px}.feedback-trend{margin-top:20px}.social-media-analysis{margin-top:40px}.tag-list,.wordcloud-container{display:flex;justify-content:center}.wordcloud-container{max-width:600px;margin:40px auto;height:400px;position:relative;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);align-items:center}.wordcloud-container canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tag-list{flex-wrap:wrap;gap:10px;margin-top:15px}.tag{background-color:#f0f2f5;padding:5px 12px;border-radius:15px;font-size:.9em;color:#2c3e50}.tag:hover{background-color:#e2e5e9;transform:translateY(-2px);transition:all .3s ease}.footer-info{margin-top:60px;padding:40px 20px;background:#f8f9fa;border-top:1px solid #eee}.credits{max-width:800px;margin:0 auto 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.credits h3{text-indent:0}.credits,.credits h3,.credits p,.production-unit{text-align:center}.credits p:hover{background:#e9ecef;transform:translateY(-2px)}.production-unit{grid-column:1/-1;margin-top:20px}.credits h3,.production-unit h3{color:#2c3e50;margin-bottom:10px;font-size:1.2em}.credits p,.production-unit p{color:#7f8c8d;margin:0;padding:10px;background:#f8f9fa;border-radius:6px;transition:all .3s ease}.copyright{text-align:center;color:#95a5a6;margin:20px 0;font-size:.9em}.copyright p{text-align:center;margin-bottom:0}.disclaimer{text-align:center;color:#7f8c8d;font-size:.85em;padding:10px;background:rgba(0,0,0,.02);border-radius:4px}.disclaimer p{text-align:center;margin:0}.why-205-section{max-width:1000px;margin:60px auto;padding:0 20px}.past-present-container{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:1200px;margin:0 auto}.past-card,.present-card{padding:25px;background:#fff;border-radius:10px;height:100%;box-shadow:0 5px 15px rgba(0,0,0,.08)}.past-card{border-top:5px solid #e74c3c}.present-card{border-top:5px solid #2ecc71}.card-header,.timeline-icon{display:flex;align-items:center}.card-header{justify-content:space-between;margin-bottom:20px;border-bottom:1px solid #eee;padding-bottom:15px}.card-header h3{margin:0;color:#2c3e50;font-size:1.5em;text-align:left;text-indent:0}.timeline-icon{width:40px;height:40px;border-radius:50%;justify-content:center;font-size:1.2em}.past-card .timeline-icon{background-color:#e74c3c;color:#fff}.present-card .timeline-icon{background-color:#2ecc71;color:#fff}.content-block{margin-bottom:25px}.content-block:last-child{margin-bottom:0}.content-block h4,.content-block li{display:flex;align-items:center;gap:8px;text-indent:0}.content-block h4{margin-bottom:12px;color:#34495e;font-size:1.1em;text-align:left}.past-card .content-block h4 i{color:#e74c3c}.present-card .content-block h4 i{color:#2ecc71}.content-block p{line-height:1.6;color:#555}.content-block p.data-highlight{font-size:1.8em;font-weight:700;color:#3498db;margin:5px 0;text-align:center;text-indent:0}.content-block p.data-context{font-size:.9em;color:#7f8c8d;margin-top:-5px;margin-bottom:10px;text-align:center;text-indent:0}.content-block ul{list-style:none;padding-left:0;margin:0}.content-block li{margin-bottom:8px;color:#555}.past-card .content-block li i{color:#e74c3c}.present-card .content-block li i{color:#2ecc71}.problem-item{margin-bottom:20px}.problem-item h4{color:#e74c3c;margin-bottom:10px;text-align:left}.detail-item i,.problem-item h4 i{margin-right:10px}.problem-details{padding-left:15px}.detail-item,.problem-item h4{display:flex;align-items:center;text-indent:0}.detail-item{margin-bottom:8px}.detail-item i{color:#7f8c8d}.dialogue-box{background:#f8f9fa;border-left:4px solid #e74c3c;padding:15px;border-radius:0 5px 5px 0}.content-block p,.dialogue-box p{margin-bottom:.5em}.child-quote,.mother-quote{margin:10px 0;font-style:italic;position:relative;padding-left:20px;text-indent:0}.child-quote:before,.feedback-quote:before,.mother-quote:before{content:'"';position:absolute;left:0;color:#2ecc71;font-size:1.5em}.beliefs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:30px 0}.belief-intro{grid-column:1/-1;text-align:center;margin-bottom:20px}.belief-intro h2,.unexpected-findings h2{color:#2c3e50;text-align:center;text-indent:0}.belief-intro h2{margin-bottom:15px;font-size:1.8em}.belief-intro p{color:#34495e;line-height:1.6;max-width:800px;margin:0 auto;font-size:1.1em;text-align:center}.belief-item{background:#fff;padding:25px;border-radius:10px;box-shadow:0 3px 10px rgba(0,0,0,.1);text-align:left;display:flex;align-items:flex-start;gap:15px;transition:transform .3s ease}.belief-item:hover,.impact-group:hover{transform:translateY(-5px)}.belief-item i{color:#2ecc71;font-size:1.5em;padding-top:3px}.belief-item p{margin:0;line-height:1.6}.impact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin:40px 0}.impact-group{background:#fff;padding:25px;border-radius:10px;box-shadow:0 3px 10px rgba(0,0,0,.1);transition:transform .3s ease}.impact-group h3,.public-reading h4,.reading-issues h4,.service-gap h4{color:#2ecc71;margin-bottom:15px;display:flex;align-items:center;gap:10px;text-align:left;text-indent:0}.impact-group h3:before{content:"•"}.impact-group ul{list-style:none;padding:0;margin:0}.impact-group li{margin:10px 0;padding-left:20px;position:relative}.findings-list li:before,.impact-group li:before{content:"→";position:absolute;left:0;color:#2ecc71}.unexpected-findings{background:#fff;padding:30px;border-radius:15px;margin:40px 0;box-shadow:0 4px 15px rgba(0,0,0,.05);text-align:center}.unexpected-findings h2{margin-bottom:20px}.findings-list{max-width:600px;margin:0 auto;text-align:center}.conclusion h2,.findings-list p{margin-bottom:20px;font-size:1.1em;text-align:center}.findings-list ul,.insights ul{display:inline-block;text-align:left}.findings-list ul{list-style:none;padding:0;margin:0}.findings-list li{margin:15px 0;font-size:1.1em;color:#2c3e50;text-align:left;position:relative;padding-left:25px}.findings-list li:before{content:"✓";font-size:1.1em}.conclusion,.highlight{margin:40px 0;text-align:center}.conclusion{padding:40px;background:#fff;border-radius:15px;box-shadow:0 4px 15px rgba(0,0,0,.05)}.conclusion h2{font-size:2em;color:#2c3e50;margin-bottom:30px;text-indent:0}.highlight{font-size:1.6em;color:#2ecc71;line-height:1.6}.insights{max-width:800px;margin:0 auto;text-align:center}.final-message p,.insights li,.insights p{font-size:1.3em;color:#2c3e50;margin:30px 0;text-align:center}.insights ul{margin:30px 0}.insights li{margin:20px 0;line-height:1.6;text-align:left;text-indent:0}.final-message{margin-top:50px;text-align:center}.final-message p{margin:15px 0}.emphasis,.present-intro{color:#2c3e50;line-height:1.6;text-align:center}.emphasis{font-size:1.5em;font-weight:500;margin:20px 0}.present-intro{font-size:1.1em;margin-bottom:20px}.achievement-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.achievement-item{background:#fff;padding:15px;border-radius:8px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:transform .3s ease}.achievement-item:hover{transform:translateY(-3px)}.achievement-item i,.impact-group h3:before{color:#2ecc71;font-size:1.5em}.achievement-content{display:flex;flex-direction:column;text-align:left}.achievement-number{font-size:1.2em;font-weight:700;color:#2c3e50;text-indent:0}.achievement-desc,.evidence-box p{font-size:.9em;color:#7f8c8d}.present-features{margin-top:20px}.insights ul,.present-features ul,.reading-issues ul{list-style:none;padding:0}.present-features li,.reading-issues li{margin:10px 0;display:flex;align-items:center;gap:10px;text-indent:0}.present-features li{color:#2c3e50}.present-features i,.public-reading h4 i,.reading-issues h4 i,.service-gap h4 i{color:#2ecc71}.public-reading,.reading-issues,.service-gap{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.public-reading h4,.reading-issues h4,.service-gap h4{color:#2c3e50;font-size:1.1em}.reading-issues ul{margin:0}.reading-issues li{padding-left:25px;position:relative}.reading-issues li i{color:#2ecc71;width:20px}.evidence-box{background:rgba(46,204,113,.05);padding:15px;border-radius:8px;margin-top:10px}.evidence-box p{margin:0 0 10px}.evidence-box p:last-child,.policy-note p:last-child{margin-bottom:0}.feedback-quote{color:#2c3e50;font-style:italic;position:relative;padding-left:20px;margin:0}.we-believe{text-align:center;margin-bottom:20px;font-size:1.2em;color:#2c3e50;grid-column:1/-1}.policy-note{background:#f8f9fa;border-left:4px solid #2980b9;padding:10px;margin-top:15px}.policy-note p{margin-bottom:.5em}.features-grid .feature-card h5,.present-features h4{text-align:center;margin-bottom:25px;color:#2c3e50;font-size:1.4em;text-indent:0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:15px}.features-grid .feature-card{background:#f8f9fa;border-radius:8px;padding:20px;box-shadow:0 2px 5px rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center}.features-grid .feature-card:hover{transform:translateY(-5px);box-shadow:0 5px 15px rgba(0,0,0,.1)}.features-grid .feature-card i{font-size:2.5em;color:#3498db;margin-bottom:15px}.features-grid .feature-card h5{font-size:1.2em;margin-bottom:10px}.features-grid .feature-card p{color:#7f8c8d;line-height:1.5;text-align:center}.spatial-distribution{max-width:1200px;margin:0 auto 50px;text-align:center;padding:30px;background-color:#f9f9f9;border-radius:10px;box-shadow:0 2px 15px rgba(0,0,0,.05);border-left:5px solid #8e44ad}.section-description,.spatial-distribution .sub-section-title{text-align:center;text-indent:0}.section-description{color:#555;line-height:1.6;margin-bottom:25px}.map-button,.map-buttons{display:flex;justify-content:center}.map-buttons{gap:20px;flex-wrap:wrap;margin-bottom:25px}.map-button{align-items:center;padding:12px 25px;background-color:#8e44ad;color:#fff;border-radius:30px;text-decoration:none;font-weight:500;transition:all .3s ease;min-width:200px}.map-button:hover{background-color:#9b59b6;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.map-button .icon{font-size:18px;margin-right:8px}.map-button.reading-circle{background-color:#8e44ad}.map-button.population-heat{background-color:#9b59b6}.map-guide-container,.map-guide-container p,div[style*="background-color: #f8f9fa"][style*="max-width: 900px"]{text-align:left}.city-library-stats h4,.map-guide-container h4,.map-guide-container h5{text-align:left;text-indent:0}.map-guide-container ul{list-style:none;padding-left:0;margin-bottom:1em}.map-guide-container li{text-indent:0;margin-bottom:.8em;display:flex;align-items:baseline;gap:10px}.map-guide-container li i{width:18px;text-align:center;color:#27ae60;flex-shrink:0;padding-top:3px}.map-guide-container .guide-column-left li i{color:#e74c3c}.map-guide-container .guide-column-right li{align-items:flex-start}.map-guide-note{font-style:italic;text-indent:0!important;margin-bottom:0}.link-item{transition:transform .2s ease;padding:15px 25px;border-radius:8px;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);text-align:left}.link-item p,.treemap-legend span{text-indent:0}.link-item:hover{transform:translateY(-3px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.icon-wrapper{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.03);transition:background .2s ease}.link-item:hover .icon-wrapper{background:rgba(0,0,0,.05)}.city-library-stats{background-color:#f8f9fa;border-radius:10px;padding:20px;margin:20px 0;box-shadow:0 2px 5px rgba(0,0,0,.05)}.city-library-stats h4{color:#2c3e50;margin-bottom:15px;font-size:1.2em;border-bottom:2px solid #e74c3c;padding-bottom:8px;display:inline-block}.stats-grid{display:flex;justify-content:space-around;flex-wrap:wrap;margin-bottom:20px}.library-challenges,.stat-box{background-color:#fff;padding:15px}.stat-box{text-align:center;min-width:120px;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);margin:10px;transition:transform .3s ease}.stat-box:hover{transform:translateY(-5px)}.stats-grid .stat-icon{font-size:24px;color:#e74c3c;margin-bottom:10px}.stat-info .stat-number{display:block;font-size:24px;font-weight:700;color:#2c3e50;text-align:center;text-indent:0}.stat-info .stat-label{display:block;font-size:14px;color:#7f8c8d;text-align:center;text-indent:0}.library-challenges{border-left:4px solid #e74c3c;border-radius:0 8px 8px 0}.library-challenges p{margin-bottom:10px;color:#34495e}.intro-questions li:last-child,.library-challenges p:last-child,.service-issues p:last-child,div[style*="background-color: #f8f9fa"]>p.intro-text:last-child{margin-bottom:0}.library-challenges i{color:#e74c3c;margin-right:8px}.intro-questions>p strong,.library-challenges strong{color:#2c3e50}.service-issues{margin-top:15px;background-color:#f8f9fa;padding:15px;border-radius:8px}.service-issues p{margin-bottom:8px;color:#34495e;font-size:.95em}.service-issues i{color:#e67e22;margin-right:8px;width:20px;text-align:center}.intro-section,.main-title{margin-bottom:40px;text-align:center}.intro-section{padding:30px 20px;border-radius:8px}.main-title{color:#2c3e50;font-size:2.8em;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.2);text-indent:0}div[style*="background-color: #f8f9fa"]>p.intro-text{font-size:1.2em;line-height:1.8;text-align:left;text-indent:2em;color:#34495e;margin-bottom:15px}.key-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:30px;margin:40px auto;text-align:center}.key-stats .stat-item{text-align:center;min-width:150px}.key-stats .stat-item div:nth-of-type(1){font-size:2.5em;font-weight:700;color:#2c3e50;text-align:center;text-indent:0}.key-stats .stat-item div:nth-of-type(1) span{font-size:.5em}.key-stats .stat-item div:nth-of-type(2){font-size:1.1em;color:#7f8c8d;text-align:center;text-indent:0}.intro-questions{text-align:left}.intro-questions ul{list-style:none;padding-left:0;margin:0 0 25px}.intro-questions li{margin-bottom:15px;display:flex;align-items:flex-start;text-indent:0}.intro-questions li span{color:#2ecc71;margin-right:12px;font-size:1.2em;line-height:1.7;flex-shrink:0}.intro-questions li p{font-size:1.2em;line-height:1.7;color:#34495e;margin:0;text-indent:0}.intro-questions>p{font-size:1.15em;line-height:1.8;color:#555;margin-bottom:15px;text-align:center;text-indent:0}.charts-intro{text-align:center;margin-bottom:30px;max-width:900px;margin-left:auto;margin-right:auto}.charts-intro p,.library-showcase-section>p{font-size:16px;color:#555;line-height:1.6;text-align:center;text-indent:0}.library-showcase-section{text-align:left}.library-showcase-section .section-title{text-align:center}.library-showcase-section>p{max-width:850px;margin:0 auto 40px;font-size:1.15em;line-height:1.8;color:#34495e}.showcase-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;margin:0 auto;max-width:1000px}.showcase-item{flex:1 1 300px;max-width:350px;min-width:250px}.showcase-item.library-card{background-color:#fff;border-radius:10px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;display:flex;flex-direction:column}.showcase-item.library-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.library-card .library-image{height:220px;overflow:hidden}.library-card .library-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.library-card:hover .library-image img{transform:scale(1.05)}.library-card .library-caption{padding:18px 15px;text-align:center;background-color:#f8f9fa;border-top:1px solid #eee;flex-grow:1}.library-caption h5{margin:0 0 8px;font-size:1.1em;color:#333;text-align:center;text-indent:0}.library-caption p{font-size:.95em;color:#6c757d;margin:0;text-align:center}.library-showcase-section .data-source{margin-top:35px;text-align:center;font-size:.9em;color:#888;font-style:italic}.library-showcase-section .data-source p{text-align:center;text-indent:0;margin-bottom:0}.modal{display:none;position:fixed;z-index:1001;left:0;top:0;width:100%;height:100%;overflow-y:auto;background-color:rgba(0,0,0,.6);align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.modal.show{display:flex}.modal-content{background-color:#fefefe;margin:auto;padding:25px 30px;border:1px solid #ddd;width:85%;max-width:750px;border-radius:10px;position:relative;box-shadow:0 5px 20px rgba(0,0,0,.2);animation:slideDown .4s ease-out;text-align:left}.close-button{color:#aaa;font-size:32px;font-weight:700;position:absolute;top:10px;right:20px;cursor:pointer;line-height:1;transition:color .2s ease}.close-button:focus,.close-button:hover{color:#333;text-decoration:none}.modal-content h3{margin-top:0;margin-bottom:15px;color:#2c3e50;border-bottom:2px solid #eee;padding-bottom:10px;font-size:1.6em;text-align:left;text-indent:0}.modal-body-grid{display:grid;grid-template-columns:1fr 2fr;gap:25px;margin-top:20px;align-items:start}.modal-image-container img{width:100%;max-height:280px;object-fit:contain;border-radius:5px;border:1px solid #eee;display:block;margin:0 auto}.modal-description h4,.modal-details h4{font-size:1.2em;color:#3498db;margin-bottom:10px;margin-top:0;display:flex;align-items:center;text-align:left;text-indent:0}.modal-description h4:first-of-type,.modal-details h4:first-of-type{margin-top:0}.modal-description h4 i,.modal-details h4 i{margin-right:8px;font-size:.9em}.modal-description p,.modal-details p{font-size:1em;line-height:1.7;color:#444;margin-top:0;margin-bottom:.5em;text-indent:0!important}.modal-description p{margin-bottom:1em;text-indent:2em!important}.chart-analysis p:last-child,.modal-description p:last-child{margin-bottom:0}.modal-details ul{list-style:none;padding-left:0;font-size:.9em;color:#555;margin-top:0}.modal-details ul li{margin-bottom:6px;display:flex;align-items:center}.modal-details ul li i{color:#28a745;margin-right:8px;font-size:.85em}.modal-description{margin-top:25px;padding-top:15px;border-top:1px solid #f0f0f0}.chart-container-bar,.chart-container-pie{position:relative;margin:auto;min-height:350px}.chart-box{margin-bottom:30px}.chart-box h4{font-size:1.2em;margin-bottom:15px;color:#495057;text-indent:0}#feedback-heatmap,#heatmap_container{min-height:400px}#bookstoreTreemap,#costStructurePieChart,#costTrendEChart,#dailyChart,#districtChart,#feedbackMonthlyTrendChart,#hourlyChart,#midSizeLibraryCostChart,#nationalDistributionChart,#perCapitaChart,#populationChart,#subjectChart{min-height:300px;width:100%}.chart-box h4,.treemap-legend{text-align:center}.treemap-legend p{text-align:center;text-indent:0;margin-bottom:8px}.chart-description{margin-top:15px;font-size:1.05em;color:#555;line-height:1.6;text-align:left;text-indent:2em;font-style:normal;max-width:900px;margin-left:auto;margin-right:auto;padding:0 15px}.chart-analysis p{text-indent:2em!important;text-align:left;margin-bottom:.5em}.chart-analysis h4{text-indent:0}@media (max-width:768px){.modal-content{width:95%;padding:20px}.achievement-list,.beliefs,.features-grid,.impact-grid,.modal-body-grid,.past-present-container{grid-template-columns:1fr}.modal-image-container img{max-height:200px;margin-bottom:15px}.modal-content h3{font-size:1.4em}.modal-description h4,.modal-details h4{font-size:1.1em}.stats-grid{flex-direction:column}.stat-box{width:100%;margin:5px 0}.chart-container{height:300px}.wordcloud-container{height:350px}.map-buttons{flex-direction:column;align-items:center}.map-button{width:100%}}@media (max-width:480px){.chart-container{height:250px}.wordcloud-container{height:300px}}.story-preview{padding:15px}.story-thumbnail{width:100%;height:80px;background-size:cover;background-position:center;border-radius:4px;position:relative;overflow:hidden;margin-bottom:12px;border:1px solid #eee;cursor:pointer}.thumbnail-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.4);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;opacity:0;transition:opacity .3s ease;font-size:.9em;padding:5px}.story-thumbnail:hover .thumbnail-overlay{opacity:1}.thumbnail-overlay i{font-size:1.5em;margin-bottom:5px}.timeline-item.right .story-preview,.timeline-item.right .story-preview .read-full-story{text-align:left}.improvement-summary ul li div{text-align:left;text-indent:2em;margin-bottom:0}.two-column-legend-visual .legend-main-title{text-align:center;margin:0 0 25px;font-size:18px;font-weight:700;color:#333;padding-bottom:12px;border-bottom:1px solid #eee}.two-column-legend-visual .legend-content-wrapper-visual{display:flex;align-items:center;justify-content:center;gap:70px;flex-wrap:wrap;padding:10px 0}.two-column-legend-visual .legend-column{flex:1;max-width:260px;min-width:200px;display:flex;flex-direction:column;gap:15px;padding:10px}.two-column-legend-visual .legend-column-title{font-size:20px;font-weight:700;color:#34495e;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #ddd;display:flex;align-items:center}.two-column-legend-visual .legend-column-title svg{width:18px;height:18px;margin-right:6px}.legend-column-left .legend-column-title{justify-content:flex-end}.legend-column-right .legend-column-title{justify-content:flex-start}.two-column-legend-visual .explanation-item{display:flex;align-items:center;font-size:15px;line-height:1.5;color:#555;gap:12px}.two-column-legend-visual .explanation-item p{margin:0}.two-column-legend-visual .explanation-item strong{color:#333}.two-column-legend-visual .item-visuals{display:flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0;min-width:50px}.two-column-legend-visual .item-text{flex-grow:1}.legend-column-left{text-align:right}.legend-column-left .explanation-item{flex-direction:row-reverse}.legend-column-left .marker-example-base{width:16px;height:16px;border-radius:50%;background:linear-gradient(45deg,#ff5252,#ffab40,#4caf50);border:1px solid #777}.legend-column-left .size-explanation .item-visuals span{display:inline-block;border-radius:50%;background-color:#ffab40;border:1px solid #e69a38}.legend-column-left .size-explanation .marker-example-s{width:12px;height:12px}.legend-column-left .size-explanation .marker-example-m{width:16px;height:16px}.legend-column-left .size-explanation .marker-example-l{width:20px;height:20px}.legend-column-left .opacity-explanation .item-visuals span{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid #e69a38}.legend-column-left .opacity-explanation .marker-example-light{background-color:rgba(255,171,64,.6)}.legend-column-left .opacity-explanation .marker-example-mid{background-color:rgba(255,171,64,.8)}.legend-column-left .opacity-explanation .marker-example-dark{background-color:#ffab40}.legend-column-right{text-align:left}.legend-column-right .explanation-item{flex-direction:row}.legend-column-right .circle-swatch{display:inline-block;width:16px;height:16px;border-radius:50%;border-width:1.5px;border-style:solid;flex-shrink:0}.circle-swatch.radius-5{background-color:rgba(46,204,113,.2);border-color:#2ecc71}.circle-swatch.radius-10{background-color:rgba(52,152,219,.15);border-color:#3498db}.circle-swatch.radius-15{background-color:rgba(155,89,182,.1);border-color:#9b59b6}.legend-column-right .note{font-size:1em;color:#7f8c8d;margin-top:15px;font-style:italic;text-align:left}.legend-visual-center{position:relative;width:150px;height:150px;flex-shrink:0}.legend-visual-center>div{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;box-sizing:border-box}.legend-visual-center .circle-15{width:100%;height:100%;background-color:rgba(155,89,182,.1);border:2px solid #9b59b6;z-index:1}.legend-visual-center .circle-10{width:75%;height:75%;background-color:rgba(52,152,219,.15);border:2px solid #3498db;z-index:2}.legend-visual-center .circle-5{width:50%;height:50%;background-color:rgba(46,204,113,.2);border:2px solid #2ecc71;z-index:3}.legend-visual-center .center-dot{width:20%;height:20%;background-color:#ffab40;border:1.5px solid #e69a38;z-index:4}@media screen and (max-width:768px){.two-column-legend-visual .legend-content-wrapper-visual{flex-direction:column;gap:25px}.two-column-legend-visual .legend-column{max-width:90%;min-width:unset;align-items:center;text-align:center}.legend-column-left .legend-column-title,.legend-column-right .legend-column-title{justify-content:center}.two-column-legend-visual .explanation-item{flex-direction:column;text-align:center;gap:8px;font-size:12px}.two-column-legend-visual .item-visuals{order:0;margin-bottom:5px}.legend-column-left .item-text,.legend-column-right .item-text,.legend-column-right .note{text-align:center}.legend-visual-center{order:1;width:120px;height:120px;margin:10px 0}.legend-column-left{order:0}.legend-column-right{order:2}.legend-column-left .size-explanation .marker-example-s{width:10px;height:10px}.legend-column-left .opacity-explanation .item-visuals span,.legend-column-left .size-explanation .marker-example-m,.legend-column-right .circle-swatch{width:14px;height:14px}.legend-column-left .size-explanation .marker-example-l{width:18px;height:18px}}@media screen and (max-width:480px){.legend-visual-center{width:100px;height:100px}.two-column-legend-visual .explanation-item{font-size:11px}.two-column-legend-visual .legend-column-title{font-size:13px}.two-column-legend-visual .legend-main-title{font-size:16px}}.map-operation-guide.isochrone-guide{background-color:#eaf6ff;border:1px solid #bde0ff;box-shadow:0 3px 10px rgba(0,123,255,.1);color:#333}.isochrone-guide h4{color:#0056b3;border-bottom:1px solid #bde0ff}.isochrone-guide .guide-steps{margin-top:20px;display:flex;flex-direction:column;gap:20px}.isochrone-guide .guide-step{display:flex;align-items:flex-start;gap:15px;padding:15px;background-color:#fff;border-radius:6px;border-left:4px solid #007bff}.isochrone-guide .step-icon{font-size:1.8em;color:#007bff;margin-top:2px;flex-shrink:0;width:30px;text-align:center}.isochrone-guide .step-text{font-size:1em;line-height:1.6;flex-grow:1}.isochrone-guide .step-text strong{display:block;margin-bottom:5px;color:#0056b3;font-size:1.05em}.isochrone-guide .step-text p{margin:0 0 8px;color:#495057}.isochrone-guide .sub-step{margin-left:10px;margin-bottom:8px;display:flex;align-items:center;font-size:.95em;color:#34495e}.isochrone-guide .btn-example{display:inline-block;padding:2px 6px;font-size:.85em;line-height:1.4;color:#333;background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px;margin:0 2px;vertical-align:baseline;white-space:nowrap}.isochrone-guide .btn-example i{margin-right:3px}.isochrone-guide .btn-example.btn-click-mode{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}@media screen and (max-width:768px){.isochrone-guide h4{font-size:1.3em;justify-content:flex-start}.isochrone-guide .guide-step{padding:12px}.isochrone-guide .step-icon{font-size:1.6em}.isochrone-guide .step-text{font-size:.95em}.isochrone-guide .btn-example{font-size:.8em;padding:1px 4px}}.chart-annotation-label,.chart-annotation-line{transition:all .2s ease-out}.footer-links-section{margin:40px 0;text-align:center}.footer-section-title{margin-bottom:20px;font-size:1.4em;color:#2c3e50}.footer-links-container{max-width:1000px;margin:0 auto}.footer-link,.footer-links-row{display:flex;justify-content:center}.footer-links-row{gap:20px;margin-bottom:15px}.footer-link{flex:1;max-width:300px;padding:12px 15px;background:#fff;border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.05);color:#2c3e50;text-decoration:none;transition:all .3s ease;align-items:center}.footer-link:hover{transform:translateY(-3px);box-shadow:0 4px 12px rgba(0,0,0,.1);color:#3498db}.footer-link i{margin-right:8px;font-size:1.2em}@media (max-width:768px){.footer-links-row{flex-direction:column;align-items:center}.footer-link{width:100%;max-width:100%;margin-bottom:10px}}