.cand-shell{--cand-ind:var(--ind);--cand-other:var(--other)}.cand-avatar.dem,.cand-card.dem,.cand-hero.dem,.cand-opponents li.dem,.race-nominees li.dem,.state-nominees>span.dem{--tone:var(--blue);--tone-soft:var(--blue-soft)}.cand-avatar.rep,.cand-card.rep,.cand-hero.rep,.cand-opponents li.rep,.race-nominees li.rep,.state-nominees>span.rep{--tone:var(--red);--tone-soft:var(--red-soft)}.cand-avatar.ind,.cand-card.ind,.cand-hero.ind,.cand-opponents li.ind,.race-nominees li.ind,.state-nominees>span.ind{--tone:var(--ind);--tone-soft:var(--ind)}.cand-avatar.other,.cand-card.other,.cand-hero.other,.cand-opponents li.other,.race-nominees li.other,.state-nominees>span.other{--tone:var(--other);--tone-soft:var(--other)}.cand-avatar{--size:52px;position:relative;flex:0 0 auto;display:grid;place-items:center;width:var(--size);height:var(--size);overflow:hidden;border-radius:50%;background:radial-gradient(120% 120% at 30% 20%,color-mix(in srgb,var(--tone,#6e6b67) 38%,#dedbd5),#d9d5cf);box-shadow:0 0 0 1.5px var(--paper-light),0 0 0 4px color-mix(in srgb,var(--tone,#6e6b67) 30%,transparent)}:where([data-look=watif]) .cand-avatar{background:radial-gradient(120% 120% at 30% 20%,color-mix(in srgb,var(--tone,#6e6b67) 38%,#f9f3e5),#f6efe0)}.cand-avatar.xs{--size:26px}.cand-avatar.sm{--size:36px}.cand-avatar.lg{--size:112px;border-radius:22px}.cand-avatar img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 18%;filter:grayscale(1) contrast(1.06) brightness(1.02)}.cand-avatar b{color:var(--tone-soft,#33312f);font:600 calc(var(--size) * .36)/1 var(--font-sans);letter-spacing:-.02em}.cand-party{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}:where([data-look=watif]) .cand-party{font-weight:700;letter-spacing:.02em}.cand-party i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--tone,#6e6b67);box-shadow:0 0 0 3px color-mix(in srgb,var(--tone,#6e6b67) 22%,transparent)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.167);color:#403e3b;font-size:12px;white-space:nowrap}.chip.incumbent{border-color:rgba(78,162,124,.35);background:rgba(83,172,132,.08);color:#4aa178}.chip.link:hover{border-color:var(--border-strong);color:#1d1c1a}.cand-directory{display:grid;gap:16px}.cand-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr));gap:12px 14px;align-items:end}.cand-filters label{display:grid;gap:5px;color:#605e5a;font-size:12px}.cand-filters input[type=search],.cand-filters select{min-height:38px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:rgba(215,211,205,.8);color:var(--ink);font-size:14px}:where([data-look=watif]) .cand-filters input[type=search],:where([data-look=watif]) .cand-filters select{background:rgba(245,238,222,.8)}.cand-filters input[type=search]:focus,.cand-filters select:focus{outline:2px solid rgba(50,87,189,.5);outline-offset:1px}.cand-segment{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.114);justify-self:start}.cand-segment button{min-height:30px;padding:0 12px;border:0;border-radius:999px;background:transparent;color:#5c5956;font-size:12.5px;cursor:pointer;transition:background .2s,color .2s}.cand-segment button:hover{color:#1d1c1a}.cand-segment button[aria-pressed=true]{background:rgba(255,255,255,.469);color:#1d1c1a;box-shadow:inset 0 0 0 1px var(--border-strong)}.cand-filter-row{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.cand-toggle{display:flex!important;align-items:center;gap:8px;color:#403e3b!important;font-size:13px!important;cursor:pointer}.cand-toggle input{width:16px;height:16px;accent-color:var(--blue)}.cand-view{margin-left:auto}.cand-hint{margin:-4px 0 0;color:#7a7873;font-size:12px}.cand-grid.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px}.cand-grid.list{display:grid;gap:0;border-top:1px solid var(--border)}.cand-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"avatar main" "race race" "status status" "odds cook";gap:10px 14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--glass);animation:cand-in .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i, 0) * 18ms);transition:border-color .2s,transform .2s,background .2s}.cand-card:hover{border-color:color-mix(in srgb,var(--tone) 45%,var(--border));background:var(--glass-hover);transform:translateY(-2px)}.cand-card .cand-avatar{grid-area:avatar}.cand-main{grid-area:main;display:grid;align-content:center;gap:5px;min-width:0}.cand-name{color:#1d1c1a;font-size:16.5px;font-weight:600;letter-spacing:-.015em;line-height:1.2;overflow-wrap:anywhere}.cand-name:after{content:"";position:absolute;inset:0;border-radius:inherit}.cand-name:focus-visible{outline:none}.cand-card:has(.cand-name:focus-visible){outline:2px solid var(--blue);outline-offset:2px}.cand-race{grid-area:race;position:relative;z-index:1;display:flex;align-items:baseline;gap:8px;min-width:0;padding:8px 10px;border-radius:var(--radius-sm);background:rgba(255,255,255,.192);color:#2f2d2b}.cand-race:hover{background:rgba(255,255,255,.353)}.cand-race strong{font-family:var(--font-mono);font-size:12.5px;font-weight:600;white-space:nowrap}.cand-race small{color:#666460;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cand-status{grid-area:status;justify-self:start;color:#666460;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}:where([data-look=watif]) .cand-status{letter-spacing:.02em;font-weight:700}.cand-status.incumbent{color:#4aa178}.cand-odds{grid-area:odds;display:grid;gap:5px;align-content:center}.cand-odds b{color:#403e3b;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.cand-odds b.fav{color:var(--tone-soft)}.cand-odds em{color:#666460;font-size:12px;font-style:normal}.cand-bar{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.353);overflow:hidden}.cand-bar i{display:block;height:100%;background:var(--tone);border-radius:inherit;transition:width .5s cubic-bezier(.2,.7,.2,1)}.cand-cook{grid-area:cook;justify-self:end;align-self:center;display:grid;justify-items:end;gap:2px;color:#2f2d2b;font-size:13px}.cand-cook small{color:#7a7873;font-family:var(--font-mono);font-size:10.5px}.cand-card .cand-polls{grid-area:odds;justify-self:start;justify-items:start}.cand-grid.list .cand-card,.cand-list-head{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(170px,1.2fr) 120px 140px 110px;grid-template-areas:none;align-items:center;gap:14px}.cand-list-head{padding:10px 14px;color:#7a7873;font-family:var(--font-mono);font-size:11px;border-bottom:1px solid var(--border)}.cand-list-head span:last-child{text-align:right}.cand-grid.list .cand-card{padding:10px 14px;border:0;border-bottom:1px solid var(--line-soft);border-radius:0;background:transparent;animation-name:cand-in-row}.cand-grid.list .cand-card:hover{transform:none;background:rgba(255,255,255,.167)}.cand-grid.list .cand-card>.cand-avatar{display:none}.cand-grid.list .cand-main{grid-area:auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.cand-grid.list .cand-name{font-size:14.5px}.cand-grid.list .cand-cook,.cand-grid.list .cand-odds,.cand-grid.list .cand-race,.cand-grid.list .cand-status{grid-area:auto}.cand-grid.list .cand-race{background:transparent;padding:0}.cand-grid.list .cand-cook{display:flex;gap:6px}.cand-grid.list .cand-cook small{display:none}.cand-card.skeleton{min-height:170px;animation:cand-pulse 1.4s ease-in-out infinite}.cand-empty{display:grid;justify-items:center;gap:12px;padding:40px 0}.cand-empty button,.cand-more{min-height:38px;padding:0 18px;border:1px solid var(--border-strong);border-radius:999px;background:rgba(255,255,255,.217);color:#1d1c1a;font-size:13px;cursor:pointer}.cand-more{justify-self:center}.cand-empty button:hover,.cand-more:hover{background:rgba(255,255,255,.432)}.cand-source{margin:4px 0 0;color:#7a7873;font-size:11.5px;line-height:1.5}@keyframes cand-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@keyframes cand-in-row{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}@keyframes cand-pulse{0%,to{opacity:.45}50%{opacity:.8}}.cand-crumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;color:#7a7873;font-size:13px}.cand-crumbs a{color:#5c5956}.cand-crumbs a:hover{color:#1d1c1a}.cand-hero{display:flex;align-items:center;gap:28px;margin-bottom:24px;padding-bottom:26px;border-bottom:1px solid var(--border);animation:cand-in .5s cubic-bezier(.2,.7,.2,1) both}.cand-hero .eyebrow{margin:0 0 8px}.cand-hero h1{margin:0;font-size:clamp(34px,4.6vw,58px);line-height:1.02;color:var(--ink);font-family:var(--font-display)}.cand-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.cand-chips .cand-party.chip{color:#1d1c1a;border-color:color-mix(in srgb,var(--tone) 55%,transparent);background:color-mix(in srgb,var(--tone) 14%,transparent)}:where([data-look=watif]) .cand-hero .cand-chips .chip{min-height:30px;padding:0 12px;border-width:2px;background-color:var(--paper-light);color:var(--ink);font-size:12.5px;font-weight:700}:where([data-look=watif]) .cand-hero .cand-chips .cand-party.chip{border-color:var(--tone);background:var(--tone);color:#fff}:where([data-look=watif]) .cand-hero .cand-chips .cand-party.chip i{background:#fff;box-shadow:none}:where([data-look=watif]) .cand-hero .cand-chips .chip.link{border-color:var(--pink)}:where([data-look=watif]) .cand-hero .cand-chips .chip.link:hover{background:var(--pink);color:#f4ecda}.cand-sub{margin:12px 0 0;color:#5c5956;font-size:14.5px}.cand-profile-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}.cand-side{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}.cand-profile-grid .panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--glass);animation:cand-in .5s cubic-bezier(.2,.7,.2,1) both}.cand-profile-grid h2{margin:0;font-size:18px;font-family:var(--font-display)}.cand-profile-grid h3{margin:22px 0 10px;color:#403e3b;font-size:13px;font-weight:600}.cand-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.cand-kpis>div,.cand-money>div{display:grid;gap:4px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(255,255,255,.114)}.cand-kpis small,.cand-money small,.cand-raters small{color:#716e6a;font-family:var(--font-mono);font-size:11px}.cand-kpis strong,.cand-money strong{color:#1d1c1a;font-size:30px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.cand-kpis strong.dem,.cand-raters b.dem{color:var(--blue-soft)}.cand-kpis strong.rep,.cand-raters b.rep{color:var(--red-soft)}.cand-kpis span{color:#666460;font-size:12px}.cand-raters{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.cand-raters a{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);color:#2f2d2b}.cand-raters a:hover{border-color:var(--border-strong)}.cand-raters b{font-size:14px;font-weight:600}.cand-note{margin:12px 0 0;color:#666460;font-size:13px;line-height:1.5}.cand-opponents,.race-nominees ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.cand-opponents li,.race-nominees li{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(255,255,255,.114)}:where([data-look=watif]) .cand-opponents li,:where([data-look=watif]) .race-nominees li{border:2px solid color-mix(in srgb,var(--tone,#8a857d) 45%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--tone,#8a857d) 7%,var(--paper-light))}.cand-opponents li>a{color:#1d1c1a;font-weight:500}:where([data-look=watif]) .cand-opponents li>a{color:var(--ink);font-weight:800;letter-spacing:-.02em}.cand-opponents li>a:hover,.race-nominees li a:hover{text-decoration:underline}.cand-opponents li .cand-party{margin-left:auto}.cand-money{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px;margin-top:16px}.cand-money strong{font-size:22px;white-space:nowrap}.cand-profile-grid .panel-head{flex-wrap:wrap;gap:8px 16px}.skeleton-block{min-height:82px;border-radius:var(--radius-sm);background:rgba(255,255,255,.217);animation:cand-pulse 1.4s ease-in-out infinite}.cand-links ul{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}.cand-links a{color:var(--blue-soft);font-size:14px}.cand-links a:hover{color:#1d1c1a}.cand-links .source-note{margin-top:16px;color:#7a7873;font-size:11.5px;line-height:1.5}.cand-primary{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}.cand-bio-text{margin-top:14px}.cand-bio-text p{margin:0 0 12px;color:var(--ink);font-size:15.5px;line-height:1.62;max-width:68ch}.cand-bio-text p:first-child:first-letter{float:left;margin:4px 8px 0 0;font:600 44px/.8 var(--font-display);color:var(--ink)}.cand-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:16px 0 0}.cand-facts>div{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(255,255,255,.114)}.cand-facts dt{color:#716e6a;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase}:where([data-look=watif]) .cand-facts dt{letter-spacing:.02em;font-weight:700}.cand-facts dd{margin:0;color:var(--ink);font-size:14px;line-height:1.4}.cand-positions{position:relative;display:grid;gap:0;margin:0;padding:0 0 0 18px;list-style:none}.cand-positions:before{content:"";position:absolute;left:4px;top:8px;bottom:8px;width:1px;background:rgba(0,0,0,.16)}.cand-positions li{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);gap:2px 14px;padding:7px 0}.cand-positions li:before{content:"";position:absolute;left:-18px;top:13px;width:9px;height:9px;border:2px solid var(--paper-light);border-radius:50%;background:#9a958e;box-shadow:0 0 0 1px rgba(0,0,0,.15)}.cand-positions li.current:before{background:var(--ink)}.cand-positions span{grid-row:span 2;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.cand-positions span em{margin-left:4px;font-style:normal}.cand-positions b{color:var(--ink);font-size:14px;font-weight:600}.cand-positions small{color:var(--muted);font-size:12.5px}.cand-bio .source-note,.cand-record .source-note{margin-top:16px;color:#7a7873;font-size:11.5px;line-height:1.5}.cand-bio .source-note a,.cand-record .source-note a{color:inherit;text-decoration:underline;text-decoration-color:rgba(0,0,0,.25)}.cand-bp{display:inline-block;margin-top:12px;color:var(--blue-soft);font-size:14px}.cand-record-sum{margin:12px 0 10px;color:var(--muted);font-size:14px}.cand-record-sum strong{color:var(--ink);font:500 26px/1 var(--font-display);letter-spacing:-.03em}.cand-record-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.cand-record-table{width:100%;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}.cand-record-table td,.cand-record-table th{padding:9px 12px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top;white-space:nowrap}.cand-record-table thead th{color:var(--muted);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}:where([data-look=watif]) .cand-record-table thead th{font-weight:700;letter-spacing:.02em}.cand-record-table tbody tr:last-child td{border-bottom:0}.cand-record-table td small{display:block;color:var(--muted);font-size:11.5px}.cand-result{display:inline-block;min-width:54px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;text-align:center}tr.won .cand-result{background:var(--ink);color:var(--paper-light)}tr.lost .cand-result{border:1px solid rgba(0,0,0,.25);color:var(--soft)}.race-nominees{display:grid;gap:10px}.race-nominees-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.race-nominees-head h3{margin:0;font-size:14px}.race-nominees-head small{color:#7a7873;font-size:11px}.race-nominees li>span:not(.chip):not(.cand-avatar){display:grid;gap:2px;min-width:0}.race-nominees li a{color:#1d1c1a;font-weight:500}.race-nominees li .chip{margin-left:auto}.race-nominees li.skeleton{min-height:54px;animation:cand-pulse 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.cand-card,.cand-hero,.cand-profile-grid .panel{animation:none}.cand-card:hover{transform:none}}@media (max-width:1000px){.cand-filters{grid-template-columns:1fr 1fr}.cand-search{grid-column:1/-1}.cand-profile-grid{grid-template-columns:1fr}.cand-list-head{display:none!important}.cand-grid.list .cand-card{grid-template-columns:1fr auto;gap:6px 12px}.cand-grid.list .cand-race{grid-column:1/-1;order:3}.cand-grid.list .cand-status{order:4}.cand-grid.list .cand-odds{display:none}}@media (max-width:560px){.cand-filters{grid-template-columns:1fr 1fr;gap:10px}.cand-filter-row>.cand-segment:not(.cand-view){width:100%;border-radius:14px}.cand-filter-row>.cand-segment:not(.cand-view) button{border-radius:10px}.cand-segment button{flex:1 1 auto;padding:0 8px}.cand-view{margin-left:0}.cand-grid.cards{grid-template-columns:1fr}.cand-hero{flex-direction:column;align-items:flex-start;gap:16px}.cand-avatar.lg{--size:88px}.cand-kpis{grid-template-columns:1fr}.cand-raters{grid-template-columns:1fr 1fr 1fr}.cand-money strong{font-size:18px}.cand-kpis strong{font-size:26px}.cand-opponents li{flex-wrap:wrap}}.cand-map{margin:6px 0 16px;border:1px solid var(--line);border-radius:14px;background:rgba(217,213,207,.6)}:where([data-look=watif]) .cand-map{background:rgba(246,239,224,.6)}.cand-map summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:12px 16px;cursor:pointer;list-style:none}.cand-map summary::-webkit-details-marker{display:none}.cand-map summary span{font-weight:600;font-size:14px}.cand-map summary span:before{content:"▸ ";color:#63615c}.cand-map[open] summary span:before{content:"▾ "}.cand-map summary small{color:#63615c;font-size:12px}.cand-map .state-geo-map{max-width:640px;margin:0 auto;padding:0 16px 16px}.cand-avatar.portrait{width:auto;height:auto;aspect-ratio:225/275;--size:160px;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--tone,#8a857d) 14%,#e8e5e0),color-mix(in srgb,var(--tone,#8a857d) 26%,#d6d2cc));box-shadow:var(--shadow)}:where([data-look=watif]) .cand-avatar.portrait{background:linear-gradient(180deg,color-mix(in srgb,var(--tone,#8a857d) 14%,#fdf9ee),color-mix(in srgb,var(--tone,#8a857d) 26%,#f5eede))}.cand-avatar.portrait img{mix-blend-mode:multiply}.cand-avatar.portrait.cut{overflow:visible;border-radius:0!important;background:none;box-shadow:none}.cand-avatar.portrait.cut img{object-fit:contain;object-position:50% 100%;mix-blend-mode:normal;filter:grayscale(1) contrast(1.06) brightness(1.02) drop-shadow(0 16px 22px rgba(0,0,0,.16))}.matchup-card .cand-avatar.portrait.cut{height:94%}.cand-avatar.cut:not(.portrait):not(.framed) img{object-position:50% 0;transform:scale(1.55);transform-origin:50% 14%}.cand-avatar.portrait.framed{overflow:visible;clip-path:inset(-60% -60% 0 -60%)}.cand-avatar.portrait{-webkit-mask-image:linear-gradient(0deg,transparent 0,transparent 3%,rgba(0,0,0,.4) 11%,#000 22%);mask-image:linear-gradient(0deg,transparent 0,transparent 3%,rgba(0,0,0,.4) 11%,#000 22%);-webkit-mask-size:300% 200%;mask-size:300% 200%;-webkit-mask-position:50% 100%;mask-position:50% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.cand-avatar.cut img{-webkit-mask-image:linear-gradient(180deg,transparent,#000 7%);mask-image:linear-gradient(180deg,transparent,#000 7%)}.cand-avatar.portrait b{font:500 clamp(44px,6vw,72px)/1 var(--font-display);letter-spacing:-.04em;color:color-mix(in srgb,var(--tone,#6e6b67) 70%,#1d1c1a)}.matchup{display:grid;gap:14px;margin:0 0 18px}.matchup>.eyebrow{margin:0}.matchup-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:14px}.matchup.single .matchup-grid{grid-template-columns:minmax(0,1fr)}.matchup-vs{align-self:center;color:var(--tenue);font:500 24px/1 var(--font-display);letter-spacing:-.03em}:where([data-look=watif]) .matchup-vs{text-transform:uppercase;z-index:2;margin:0 -26px;padding:9px 13px;border:3px solid var(--bg);border-radius:999px;background:var(--pink);color:#f4ecda;font:900 15px/1 var(--font-display);letter-spacing:-.04em}.matchup-card{--pc:var(--tone,#8a857d);position:relative;isolation:isolate;overflow:hidden;display:flex;min-height:310px;padding:26px;border:1px solid var(--border);border-radius:24px;background:var(--paper-light);box-shadow:var(--shadow);color:var(--ink);transition:transform .6s var(--ease-expo),box-shadow .3s ease,border-color .3s ease}:where([data-look=watif]) .matchup-card{border:3px solid var(--tone,#8a857d);border-radius:20px;background:color-mix(in srgb,var(--tone,#8a857d) 9%,var(--paper-light));box-shadow:none}.matchup-card.dem{--tone:var(--blue)}.matchup-card.rep{--tone:var(--red)}.matchup-card.ind{--tone:var(--ind)}.matchup-card.other{--tone:var(--other)}.matchup-card:hover{transform:translateY(-3px);border-color:rgba(0,0,0,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 2px 4px rgba(0,0,0,.05),0 20px 40px -20px rgba(0,0,0,.32)}:where([data-look=watif]) .matchup-card:hover{box-shadow:0 18px 36px -22px color-mix(in srgb,var(--tone,#000) 70%,transparent);border-color:var(--tone,#8a857d)}.matchup-party{display:none}:where([data-look=watif]) .matchup-party{position:absolute;top:12px;right:12px;z-index:3;display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border-radius:9px;background:var(--tone,#8a857d);color:#fff;font:900 16px/1 var(--font-display)}.matchup-card[data-spot]:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(520px circle at var(--mx) var(--my),rgba(255,255,255,.3),transparent 42%)}.cand-hero-halo,.matchup-halo{position:absolute;z-index:-1;aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,color-mix(in srgb,var(--tone) 38%,transparent),color-mix(in srgb,var(--tone) 12%,transparent) 55%,transparent 74%);transition:transform .9s var(--ease-expo)}.matchup-halo{right:-22%;bottom:-55%;width:100%}.matchup-card:hover .matchup-halo{transform:scale(1.08)}.cand-hero-surname,.matchup-surname{position:absolute;z-index:-1;bottom:-.13em;pointer-events:none;white-space:nowrap;font-family:var(--font-display);font-weight:500;line-height:.86;letter-spacing:-.065em;color:var(--tone);opacity:.22}.matchup-surname{left:-.04em;font-size:clamp(84px,10.5vw,168px)}.matchup-card .cand-avatar.portrait{position:absolute;right:26px;bottom:0;z-index:1;height:84%;border-radius:18px 18px 0 0;transition:transform .6s var(--ease-expo)}.matchup-card:hover .cand-avatar.portrait{transform:translateY(-4px)}.matchup-info{position:relative;z-index:2;display:grid;align-content:start;justify-items:start;gap:8px;max-width:52%}.matchup-info strong{margin-top:4px;font:500 clamp(26px,2.6vw,38px)/1 var(--font-display);letter-spacing:-.035em;overflow-wrap:break-word;text-wrap:balance}:where([data-look=watif]) .matchup-info strong{letter-spacing:-.045em}.matchup-card{container-type:inline-size}.matchup-info strong{font-size:min(clamp(26px,2.6vw,38px),calc(52cqi / (var(--longest, 8) * .6)))}:where([data-look=watif]) .matchup-info strong{font-size:min(clamp(26px,2.6vw,38px),calc(52cqi / (var(--longest, 8) * .7)))}.matchup-info small{color:var(--muted);font-size:13px}.matchup-info em{margin-top:auto;padding-top:10px;color:var(--soft);font-size:13px;font-style:normal}.matchup-grid>.matchup-card:last-child{justify-content:flex-end}.matchup-grid>.matchup-card:last-child:not(:first-child) .cand-avatar.portrait{right:auto;left:26px}.matchup-grid>.matchup-card:last-child:not(:first-child) .matchup-info{justify-items:end;text-align:right}.matchup-grid>.matchup-card:last-child:not(:first-child) .matchup-halo{right:auto;left:-22%}.matchup-grid>.matchup-card:last-child:not(:first-child) .matchup-surname{left:auto;right:-.04em}:where([data-look=watif]) .matchup-grid>.matchup-card:last-child:not(:first-child) .matchup-party{right:auto;left:12px}.matchup-card.skeleton{min-height:310px;animation:cand-pulse 1.4s ease-in-out infinite}:where([data-look=watif]) .matchup-card.skeleton{--tone:rgba(0,0,0,.12)}.cand-hero{position:relative;isolation:isolate;overflow:hidden;align-items:flex-end;min-height:340px;padding:32px 32px 0;border:1px solid var(--border);border-radius:24px;background:var(--paper-light);box-shadow:var(--shadow)}:where([data-look=watif]) .cand-hero{border:3px solid var(--tone,#8a857d);border-radius:20px;background:color-mix(in srgb,var(--tone,#8a857d) 9%,var(--paper-light));box-shadow:none}:where([data-look=watif]) .cand-hero>.matchup-party{top:14px;right:14px}:where([data-look=watif]) .cand-hero h1{color:var(--pink);font-weight:900;letter-spacing:-.05em}.cand-hero>div{align-self:center;padding-bottom:32px}.cand-hero .cand-avatar.portrait{order:2;height:300px;margin-left:auto;border-radius:18px 18px 0 0}.cand-hero-halo{right:-12%;bottom:-70%;width:62%}.cand-hero-surname{left:-.04em;font-size:clamp(110px,16vw,260px)}@media (max-width:760px){.matchup-grid{grid-template-columns:minmax(0,1fr)}.matchup-vs{justify-self:center}:where([data-look=watif]) .matchup-vs{margin:-26px 0}.matchup-card{min-height:250px;padding:20px}.matchup-card .cand-avatar.portrait{height:78%;right:20px}.matchup-grid>.matchup-card:last-child:not(:first-child) .cand-avatar.portrait{left:20px}.matchup-info{max-width:56%}.matchup-info strong{font-size:min(clamp(26px,2.6vw,38px),calc(56cqi / (var(--longest, 8) * .6)))}:where([data-look=watif]) .matchup-info strong{font-size:min(clamp(26px,2.6vw,38px),calc(56cqi / (var(--longest, 8) * .7)))}.cand-hero{min-height:0;padding:24px 24px 0}.cand-hero .cand-avatar.portrait{order:2;align-self:flex-end;height:220px;margin:0}.cand-hero>div{align-self:stretch;padding-bottom:0}:where([data-look=watif]) .cand-hero .eyebrow{padding-right:36px}}@media (prefers-reduced-motion:reduce){.matchup-card,.matchup-card .cand-avatar.portrait,.matchup-halo{transition:none}.matchup-card:hover,.matchup-card:hover .cand-avatar.portrait,.matchup-card:hover .matchup-halo{transform:none}}.photo-credit{margin:0;color:var(--muted);font-size:11.5px;line-height:1.5}.photo-credit a{color:var(--soft);text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);text-underline-offset:2px}.photo-credit a:hover{color:var(--ink)}.photo-credits{margin-top:8px;color:var(--muted);font-size:12px}.photo-credits summary{cursor:pointer;color:var(--soft);font-size:12.5px}.photo-credits>p{max-width:760px;margin:10px 0;line-height:1.5}.photo-credits ul{columns:320px 2;gap:24px;margin:0;padding:0;list-style:none}.photo-credits li{break-inside:avoid;padding:3px 0;line-height:1.4}.photo-credits li b{color:var(--soft);font-weight:500}.photo-credits a{color:inherit;text-decoration:underline;text-decoration-color:rgba(0,0,0,.2);text-underline-offset:2px}.race-faces{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}.race-faces .race-face{display:inline-flex;align-items:center;gap:7px;min-width:0}.race-faces .race-face-name{overflow:hidden;color:var(--ink);font-size:12.5px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.race-faces .race-faces-vs{color:var(--tenue,#8a857d);font-size:11px}.race-faces .cand-avatar b{color:var(--tone-soft,#33312f);font:600 calc(var(--size) * .36)/1 var(--font-sans)}.race-faces.tight{flex-wrap:nowrap}.race-faces.tight .race-face{flex:0 1 auto}.cand-lead p{margin:0;color:var(--ink);font:400 17px/1.6 var(--font-sans);max-width:70ch}.cand-lead p:first-letter{float:left;margin:5px 9px 0 0;font:600 50px/.8 var(--font-display)}.cand-lead a{display:inline-block;margin-top:12px;color:var(--soft);font-size:13.5px;font-weight:500;text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);text-underline-offset:3px}.cand-quick dl{display:grid;margin:12px 0 0}.cand-quick dl>div{display:grid;gap:3px;padding:11px 0;border-top:1px solid var(--line-soft)}.cand-quick dt{color:var(--muted);font-size:10.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase}:where([data-look=watif]) .cand-quick dt{font-weight:700;letter-spacing:.02em}.cand-quick dd{margin:0;color:var(--ink);font-size:15px;line-height:1.4}.cand-quick dd a{color:var(--ink);text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);text-underline-offset:3px}.cand-quick .cand-party{display:inline-flex;align-items:center;gap:7px}.cand-quick .cand-party.dem{--tone:var(--blue)}.cand-quick .cand-party.rep{--tone:var(--red)}.cand-quick .cand-party.ind{--tone:var(--ind)}.cand-quick .cand-party.other{--tone:var(--other)}