@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap";@layer components;@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.block{display:block}}:root{--bg-1:#f4f7fb;--bg-2:#d9e4f8;--surface:#ffffffb8;--surface-strong:#ffffffeb;--line:#15285029;--text:#0b1b39;--muted:#445a80;--brand:#0068d6;--brand-2:#02a9f4;--accent:#f05e4f;--danger:#be2f38;--shadow:0 10px 30px #0f2d6226}*{box-sizing:border-box}html,body,#app{min-height:100%}body{color:var(--text);background:radial-gradient(circle at 10% 10%, #02a9f440, transparent 40%), radial-gradient(circle at 80% 0%, #f05e4f33, transparent 35%), linear-gradient(165deg, var(--bg-1), var(--bg-2));margin:0;font-family:IBM Plex Sans,sans-serif}h1,h2,h3,h4,h5{letter-spacing:-.02em;margin:0;font-family:Sora,sans-serif}p{margin:0}a{color:inherit}.app-shell{max-width:920px;min-height:100dvh;margin:0 auto;padding:1rem .9rem 6.2rem}.app-content{flex-direction:column;gap:.9rem;display:flex}.quick-jump{padding:.75rem}.quick-jump label{color:var(--muted);font-size:.78rem;font-weight:700}.quick-jump-row{background:#ffffffc7;border:1px solid #0b1b391a;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;min-height:2.5rem;margin-top:.45rem;padding:0 .5rem;display:grid}.quick-jump-row svg{color:var(--muted)}.quick-jump-row input{width:100%;min-height:2.3rem;font:inherit;color:var(--text);background:0 0;border:none}.quick-jump-row input:focus{outline:none}.quick-jump-row button{color:#fff;background:linear-gradient(120deg, var(--brand), var(--brand-2));border:none;border-radius:8px;min-height:1.9rem;padding:0 .65rem;font-weight:700}.quick-jump small{color:var(--muted);margin-top:.5rem;font-size:.72rem;display:block}.quick-jump small.error{color:var(--danger)}.quick-jump-history{flex-wrap:wrap;gap:.45rem;margin-top:.5rem;display:flex}.quick-jump-chip,.quick-jump-clear{color:var(--text);background:#ffffffb8;border:1px solid #0b1b3924;border-radius:999px;min-height:1.9rem;padding:0 .62rem;font-size:.74rem;font-weight:700}.quick-jump-chip{align-items:center;gap:.35rem;display:inline-flex}.quick-jump-chip-count{min-height:1.2rem;color:var(--muted);background:#0b1b3914;border-radius:999px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.68rem;display:inline-flex}.quick-jump-clear{color:var(--danger);background:#be2f3814;border-color:#be2f384d}.page-grid{grid-template-columns:1fr;gap:.9rem;display:grid}.glass-card{border:1px solid var(--line);background:var(--surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow);border-radius:18px}.section-header{margin-bottom:.2rem}.section-header h2{font-size:clamp(1.35rem,2.8vw,2rem);font-weight:800}.section-header p{color:var(--muted);margin-top:.35rem;font-size:.95rem}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.summary-item{padding:.8rem}.summary-item h3{color:var(--muted);font-size:.82rem}.summary-item strong{margin-top:.35rem;font-size:1.1rem;display:block}.snapshot-card{padding:.9rem;animation:.26s ease-out slide-up}.snapshot-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.snapshot-head h3{margin-top:.2rem;font-size:1rem}.snapshot-meta{color:var(--muted);flex-wrap:wrap;gap:.55rem;margin-top:.7rem;font-size:.8rem;display:flex}.snapshot-meta span{align-items:center;gap:.3rem;display:inline-flex}.meter-wrap{background:#0b1b391f;border-radius:999px;height:10px;margin-top:.75rem;overflow:hidden}.meter-value{background:linear-gradient(90deg, var(--brand), var(--brand-2));border-radius:999px;height:100%;transition:width .22s}.meter-label{color:var(--muted);margin-top:.45rem;font-size:.76rem}.candidate-list{flex-direction:column;gap:.5rem;margin:.95rem 0 0;padding:0;list-style:none;display:flex}.candidate-list li{background:#ffffff94;border:1px solid #0b1b3914;border-radius:14px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem;display:flex}.candidate-list li.leader{background:#0068d614;border-color:#0068d666}.candidate-left{align-items:center;gap:.55rem;display:inline-flex}.candidate-avatar,.candidate-avatar-lg{object-fit:cover;border-radius:999px;flex-shrink:0}.candidate-avatar{width:2rem;height:2rem}.candidate-avatar-lg{width:2.4rem;height:2.4rem}.candidate-avatar-fallback{letter-spacing:.03em;color:#23456f;background:#0b1b391f;border:1px solid #0b1b3924;justify-content:center;align-items:center;font-size:.58rem;font-weight:800;display:inline-flex}.candidate-avatar-lg.candidate-avatar-fallback{font-size:.62rem}.candidate-avatar-fallback[data-office=PRESIDENTE]{color:#0b3a66;background:linear-gradient(135deg,#105fb540,#02a9f433);border-color:#105fb559}.candidate-avatar-fallback[data-office=GOVERNADOR]{color:#3f2d0a;background:linear-gradient(135deg,#f59f004d,#f05e4f2e);border-color:#f59f0073}.candidate-avatar-fallback[data-office=SENADOR]{color:#3c1c3a;background:linear-gradient(135deg,#7f5af040,#de2f2f2e);border-color:#7f5af066}.candidate-avatar-fallback[data-office=DEPUTADO_FEDERAL]{color:#174f47;background:linear-gradient(135deg,#1891763d,#02a9f424);border-color:#18917666}.candidate-avatar-fallback[data-office=DEPUTADO_ESTADUAL]{color:#4a2f5c;background:linear-gradient(135deg,#9d4edd3d,#7f5af024);border-color:#7f5af059}.candidate-avatar-fallback[data-office=PREFEITO]{color:#583017;background:linear-gradient(135deg,#f05e4f42,#f59f002e);border-color:#f05e4f66}.candidate-left p{font-size:.9rem;font-weight:600}.candidate-left small{color:var(--muted)}.candidate-right{text-align:right}.candidate-right strong{font-family:Sora,sans-serif;font-size:.95rem;display:block}.candidate-right small{color:var(--muted);font-size:.76rem}.rank{background:#0b1b391f;border-radius:999px;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.78rem;font-weight:700;display:inline-flex}.snapshot-foot{color:var(--muted);justify-content:space-between;gap:.5rem;margin-top:.85rem;font-size:.78rem;display:flex}.snapshot-foot span{align-items:center;gap:.3rem;display:inline-flex}.event-feed{grid-template-columns:1fr;gap:.8rem;display:grid}.event-card{padding:.85rem}.event-head{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.event-head small{color:var(--muted)}.event-card p{margin-top:.65rem;font-weight:500}.event-card footer{color:var(--muted);justify-content:space-between;gap:.5rem;margin-top:.75rem;font-size:.8rem;display:flex}.event-card footer span{align-items:center;gap:.3rem;display:inline-flex}.chip{letter-spacing:.03em;background:#ffffffc7;border:1px solid #0b1b3933;border-radius:999px;justify-content:center;align-items:center;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.chip-soft{background:#02a9f424;border-color:#02a9f466}.empty-state{gap:.25rem;padding:1rem;display:grid}.empty-state h3{font-size:1rem}.empty-state p{color:var(--muted)}.empty-state.danger{background:#be2f3814;border-color:#be2f384d}.app-nav{border:1px solid var(--line);background:var(--surface-strong);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:920px;box-shadow:var(--shadow);z-index:10;border-radius:999px;grid-template-columns:.9fr .9fr 1.2fr;gap:.4rem;margin:0 auto;padding:.45rem;display:grid;position:fixed;bottom:.8rem;left:.8rem;right:.8rem}.app-nav a{text-align:center;min-width:0;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:.45rem .2rem;font-size:.78rem;font-weight:700;text-decoration:none;display:flex}.app-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}@media (width<=768px){.app-nav{grid-template-columns:.88fr .88fr 1.24fr}}@media (width<=420px){.app-nav{grid-template-columns:.86fr .86fr 1.28fr;gap:.3rem}.app-nav a{padding:.42rem .16rem;font-size:.72rem}}.app-nav a.active{color:#fff;background:linear-gradient(120deg, var(--brand), var(--brand-2))}.toolbar{flex-wrap:wrap;gap:.55rem;display:flex}.toolbar input,.toolbar select,.toolbar button{border:1px solid var(--line);color:var(--text);min-height:2.5rem;font:inherit;background:#ffffffd1;border-radius:12px;padding:0 .75rem}.toolbar button{background:linear-gradient(120deg, var(--brand), var(--brand-2));color:#fff;border:none;font-weight:700}.municipality-autocomplete{flex:1;min-width:220px;position:relative}.municipality-autocomplete input{width:100%}.municipality-suggestions{z-index:20;background:#fffffff5;border:1px solid #0b1b391f;border-radius:12px;max-height:220px;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0f2d621f}.municipality-suggestions button{width:100%;min-height:2rem;color:var(--text);font:inherit;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:.38rem .45rem;display:flex}.municipality-suggestions button:hover{background:#02a9f41f}.municipality-suggestions button.active{background:#105fb529}.municipality-suggestions button small{color:var(--muted);font-size:.72rem;font-weight:700}.toolbar-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.loading-block{min-height:220px;color:var(--muted);place-items:center;padding:1rem;display:grid}.office-filter{scrollbar-width:thin;gap:.42rem;padding:.45rem;display:flex;overflow-x:auto}.office-filter-button{color:var(--text);white-space:nowrap;min-height:2rem;font:inherit;background:#ffffffc7;border:1px solid #0b1b3926;border-radius:999px;padding:0 .7rem;font-size:.76rem;font-weight:700}.office-filter-button.active{color:#fff;background:linear-gradient(120deg, var(--brand), var(--brand-2));border-color:#0000}.quick-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.quick-links a{text-align:center;background:#ffffffa3;border:1px solid #0b1b391a;border-radius:14px;padding:.8rem;font-size:.82rem;font-weight:700;text-decoration:none}.election-topline{border-left:5px solid var(--accent);gap:.45rem;padding:.9rem;display:grid}.election-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:800}.election-topline h3{margin-top:.28rem;font-size:1.02rem}.election-updated{color:var(--muted);font-size:.8rem}.round-switch,.office-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:.52rem;display:grid}.office-switch{grid-template-columns:repeat(3,minmax(0,1fr))}.round-switch button,.office-switch button{min-height:2.45rem;color:var(--text);font:inherit;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;background:#ffffffb8;border:1px solid #0b1b3926;border-radius:12px;font-size:.78rem;font-weight:800;overflow:hidden}.round-switch button.active,.office-switch button.active{color:#fff;background:linear-gradient(120deg,#105fb5,#de2f2f);border-color:#0000}.result-highlight{padding:.95rem}.result-highlight header h3{margin-top:.22rem;font-size:1.08rem}.result-highlight header small{color:var(--muted);margin-top:.35rem;font-size:.78rem;display:block}.duel-grid{gap:.6rem;margin-top:.85rem;display:grid}.duel-card{background:#ffffffb8;border:1px solid #0b1b391f;border-radius:14px;padding:.78rem}.duel-card.leader{background:#0068d61a;border-color:#0068d673}.duel-badge{color:var(--muted);font-size:.72rem;font-weight:800}.duel-card h4{margin-top:.3rem;font-size:1rem}.duel-candidate{align-items:center;gap:.55rem;margin-top:.3rem;display:flex}.duel-candidate h4{margin-top:0}.duel-candidate p{margin-top:.12rem}.duel-card p{color:var(--muted);margin-top:.14rem;font-size:.8rem}.duel-card strong{margin-top:.38rem;font-family:Sora,sans-serif;font-size:1.18rem;display:block}.duel-card small{color:var(--muted);font-size:.76rem}.ranking-table{padding:.9rem}.ranking-table header h3{font-size:1.02rem}.ranking-table header small{color:var(--muted);margin-top:.2rem;font-size:.78rem;display:block}.ranking-table ol{gap:.45rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.ranking-table li{background:#ffffff94;border:1px solid #0b1b391a;border-radius:12px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.55rem;padding:.58rem;display:grid}.ranking-table li .position{background:#0b1b391a;border-radius:999px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.74rem;font-weight:700;display:inline-flex}.ranking-table li p{font-size:.86rem;font-weight:700}.ranking-candidate{align-items:center;gap:.5rem;min-width:0;display:flex}.ranking-table li div small{color:var(--muted);font-size:.75rem}.ranking-table li strong{font-family:Sora,sans-serif;font-size:.9rem}.ranking-table li>small{color:var(--muted);text-align:right;font-size:.75rem}.chart-grid{grid-template-columns:1fr;gap:.9rem;display:grid}.chart-card{padding:.9rem}.chart-card header h3{font-size:1.02rem}.chart-card header small{color:var(--muted);margin-top:.2rem;font-size:.78rem;display:block}.chart-box{width:100%;height:260px;margin-top:.75rem}@media (width>=820px){.app-shell{padding:1.4rem 1.4rem 5.4rem}.quick-jump{max-width:640px}.page-grid,.event-feed{grid-template-columns:repeat(2,minmax(0,1fr))}.office-filter{flex-wrap:wrap;overflow-x:visible}.office-switch{grid-template-columns:repeat(6,minmax(0,1fr))}.duel-grid,.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid>:last-child{grid-column:span 2}}@keyframes slide-up{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
