.app-container{max-width:1200px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1.5rem;min-height:100vh}@media (min-width: 768px){.app-container{padding:1.5rem 2rem;gap:2rem}}header{text-align:center;padding:1rem 0 .5rem}@media (min-width: 768px){header{padding:1.5rem 0 1rem}}.logo{font-size:clamp(1.75rem,6vw,2.5rem);font-weight:800;margin-bottom:.75rem;letter-spacing:-1px;word-wrap:break-word;transition:opacity .2s}.logo:hover{opacity:.85}@media (min-width: 768px){.logo{font-size:3.5rem;margin-bottom:1rem}}.logo-white{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.logo-blue{color:#60a5fa;text-shadow:0 2px 4px rgba(0,0,0,.3)}.logo-red{color:#fb7185;text-shadow:0 2px 4px rgba(0,0,0,.3)}.logo-sk{background:linear-gradient(135deg,#fbbf24,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:900;margin-left:2px}.hero-text{font-size:1.1rem;color:var(--text-secondary);max-width:800px;margin:0 auto;line-height:1.6;padding:0 1rem}@media (min-width: 768px){.hero-text{font-size:1.25rem;line-height:1.8}}.hero-text strong{color:var(--text-primary)}.selector-section{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:800px;margin:0 auto;padding:1.5rem;text-align:center}@media (min-width: 768px){.selector-section{padding:2rem}}.selector-section h2{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}@media (min-width: 768px){.selector-section h2{font-size:1.8rem}}.candidates-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:1.5rem;width:100%}@media (min-width: 640px){.candidates-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}}.candidate-card{padding:1.5rem;text-align:left;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden;cursor:pointer;display:flex;gap:1rem;align-items:flex-start}.candidate-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0006;border-color:#3b82f666}.candidate-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--text-secondary)}.candidate-card.independent:before{background:var(--success-color)}.candidate-card.party:before{background:var(--accent-color)}.candidate-info{flex:1}.candidate-name{font-size:1.25rem;margin-bottom:.25rem;color:var(--text-primary)}.candidate-party{font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:.75rem;display:inline-block;padding:.2rem .6rem;background:#ffffff0d;border-radius:99px}.candidate-card.independent .candidate-party{color:var(--success-color);background:#10b9811a}.candidate-card.party .candidate-party{color:var(--accent-color);background:#3b82f61a}.candidate-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0f172ad9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-color);border:1px solid var(--card-border);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px -12px #00000080}.modal-header{padding:1.5rem;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.5rem;margin:0}.close-btn{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;transition:color .2s}.close-btn:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-profile{display:flex;gap:1.5rem;margin-bottom:2rem;align-items:center}.modal-profile-img{width:100px;height:100px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid var(--card-border)}.modal-profile-info .modal-name{font-size:1.8rem;margin-bottom:.5rem}.section-title{font-size:1.1rem;color:var(--text-primary);margin-bottom:.5rem;border-bottom:1px solid var(--card-border);padding-bottom:.25rem;margin-top:1.5rem}.modal-text{color:var(--text-secondary);line-height:1.6;font-size:.95rem}.supporters-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.supporter-badge{background:#ffffff1a;padding:.25rem .75rem;border-radius:4px;font-size:.85rem}.sources-list{list-style-type:none;padding:0;margin-top:.5rem}.sources-list li{margin-bottom:.25rem}.sources-list a{font-size:.9rem}.local-selectors{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--card-border)}.selector-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}.selector-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-left:.5rem}@media (min-width: 768px){.local-selectors{flex-direction:row;padding-top:2rem}.selector-group{flex:1}}footer{text-align:center;padding:1.5rem 1rem 1rem;margin-top:auto;border-top:1px solid var(--card-border);color:var(--text-secondary);font-size:.9rem}.footer-content{max-width:800px;margin:0 auto;line-height:1.6}.footer-content p{margin-bottom:.5rem}.comparison-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--card-border);width:100%}.comparison-title{color:var(--text-primary);margin-bottom:2rem;text-align:left}.thematic-comparison{display:flex;flex-direction:column;gap:2rem}.comparison-topic-block{padding:1.5rem;border-radius:12px;background:#1e293b66;border:1px solid var(--card-border)}.topic-header{font-size:1.25rem;color:var(--accent-color);margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.topic-content{display:flex;flex-direction:column;gap:1.2rem}.topic-candidate-row{display:grid;grid-template-columns:1fr;gap:.5rem}@media (min-width: 768px){.topic-candidate-row{grid-template-columns:200px 1fr;gap:1.5rem;align-items:start}}.topic-candidate-name{color:var(--text-primary);font-size:1.05rem}.topic-candidate-value{color:var(--text-secondary);line-height:1.6;font-size:.95rem}.candidate-photo-wrapper{position:relative;width:80px;height:80px;border-radius:50%;margin:0;flex-shrink:0;background-color:transparent;padding:0;box-shadow:0 4px 10px #00000080;border:2px solid var(--card-border)}.candidate-photo{width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%}.candidate-photo-fallback,.modal-profile-fallback{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--card-border) 0%,rgba(30,41,59,1) 100%);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700}.modal-profile-fallback{width:120px;height:120px;margin-right:2rem;flex-shrink:0;box-shadow:0 8px 16px #0006}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:3rem;height:3rem;background:var(--accent-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #0000004d;opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease;z-index:900}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background:var(--accent-hover);transform:translateY(-3px) scale(1.05)}.scroll-to-top svg{width:1.5rem;height:1.5rem}:root{--bg-color: #0f172a;--bg-gradient: radial-gradient(circle at top right, #1e293b, #0f172a);--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent-color: #3b82f6;--accent-hover: #2563eb;--accent-glow: rgba(59, 130, 246, .5);--card-bg: rgba(30, 41, 59, .7);--card-border: rgba(255, 255, 255, .1);--success-color: #10b981;--warning-color: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background:var(--bg-gradient);background-attachment:fixed;color:var(--text-primary);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif}a{color:var(--accent-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent-hover)}.glass{background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 8px 32px #0000004d}select{width:100%;padding:1rem 1.5rem;font-family:Inter,sans-serif;font-size:1.1rem;color:var(--text-primary);background-color:#0f172acc;border:1px solid var(--card-border);border-radius:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;transition:all .3s ease;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%2394a3b8%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 1.5rem top 50%;background-size:.65rem auto}select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}select option{background-color:var(--bg-color);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .4s cubic-bezier(.4,0,.2,1) forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}@media (max-width: 768px){body{font-size:14px}select{padding:.8rem 1rem;font-size:1rem}}
