*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed;min-height:100vh;padding:30px}.app{max-width:1400px;margin:0 auto;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;color:#fff;gap:20px}.spinner{width:60px;height:60px;border:5px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.header{text-align:center;color:#fff;margin-bottom:40px;animation:slideDown .6s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.header h1{font-size:2.5rem;margin-bottom:10px;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.header p{font-size:1.1rem;opacity:.95}.header a{color:gold;text-decoration:none;margin-left:5px}.header a:hover{text-decoration:underline}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:24px}.charts-grid,.stats-grid{display:grid;gap:24px;margin-bottom:32px}.charts-grid{grid-template-columns:repeat(auto-fit,minmax(500px,1fr));grid-gap:24px}.chart-container{background:#fff;border-radius:20px;padding:32px;box-shadow:0 4px 20px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.05);transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideUp .6s ease-out;position:relative;overflow:hidden}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.chart-container:hover{transform:translateY(-6px);box-shadow:0 12px 40px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.08)}.chart-container h2{margin-bottom:24px;color:#2c3e50;font-size:1.4rem;font-weight:700;display:flex;align-items:center;gap:8px}.map-container{background:#fff;border-radius:20px;padding:32px;box-shadow:0 4px 20px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.05);min-height:500px;animation:slideUp .8s ease-out;position:relative;overflow:hidden}.map-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.map-container h2{margin-bottom:24px;color:#2c3e50;font-size:1.4rem;font-weight:700;gap:8px}.map-container h2,.stats-card{display:flex;align-items:center}.stats-card{background:#fff;border-radius:20px;padding:28px;gap:24px;box-shadow:0 4px 20px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.05);border-left:5px solid;transition:all .3s cubic-bezier(.4,0,.2,1);animation:popIn .5s cubic-bezier(.68,-.55,.265,1.55);position:relative;overflow:hidden}.stats-card:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle,hsla(0,0%,100%,.3) 0,transparent 70%);border-radius:50%;transform:translate(30%,-30%)}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.stats-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px rgba(0,0,0,.15),0 4px 8px rgba(0,0,0,.1)}.stats-icon{width:70px;height:70px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:all .3s ease}.stats-card:hover .stats-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 16px rgba(0,0,0,.15)}.stats-content{flex:1 1}.stats-content h3{font-size:.9rem;color:#666;margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.stats-value{font-size:2rem;font-weight:700;color:#333;margin-bottom:4px}.stats-percentage{font-size:1rem;font-weight:600}.stats-details{margin-top:12px}.language-stat{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.95rem}.language-label{font-weight:500;color:#555}.language-value{font-weight:600;color:#333}.language-stance-group{margin-bottom:12px}.language-stance-group strong{display:block;margin-bottom:6px;color:#444;font-size:.95rem}.stance-breakdown{display:flex;gap:16px;margin-left:12px;font-size:.9rem}.for-stat{color:#2196f3;font-weight:600}.against-stat{color:#f44336;font-weight:600}.immigrant-stance-breakdown{display:flex;flex-direction:column;gap:8px;margin-top:8px}.immigrant-stat{display:flex;align-items:center;gap:8px;font-size:.95rem}.percentage{color:#666;font-size:.85rem}.stats-title{font-size:.9rem;color:#666;margin-bottom:8px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media (max-width:768px){body{padding:20px}.header h1{font-size:1.8rem}.charts-grid,.stats-grid{grid-template-columns:1fr}.stats-card{padding:20px}.chart-container,.map-container{padding:24px}}html{scroll-behavior:smooth}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}