/* KYV polished MVP pass */
.kyv-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 18px;
}
.kyv-meta-pill {
  border: 1px solid rgba(180, 132, 42, 0.28);
  background: rgba(255, 248, 235, 0.84);
  color: #263346;
  border-radius: 999px;
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .01em;
}
.kyv-featured-senate {
  border: 2px solid rgba(180, 132, 42, .45) !important;
  box-shadow: 0 18px 38px rgba(16, 45, 78, .12);
  background: linear-gradient(135deg, rgba(255,255,255,.97), rgba(255,248,234,.92)) !important;
}
.kyv-thumb-row {
  display: flex;
  gap: 6px;
  margin: 8px 0 4px;
}
.kyv-thumb-row img {
  width: 28px;
  height: 28px;
  object-fit: cover;
  border-radius: 999px;
  border: 2px solid #fff;
  box-shadow: 0 2px 7px rgba(0,0,0,.16);
  background: #f4efe5;
}
.kyv-strong-cta,
button.kyv-strong-cta,
a.kyv-strong-cta {
  background: #174e7a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  padding: 10px 14px !important;
  box-shadow: 0 8px 18px rgba(23, 78, 122, .18);
}
.kyv-strong-cta::after {
  content: " →";
}
.kyv-resource-section-title {
  margin-top: 18px;
  color: #263346;
  font-weight: 900;
}


/* Profile polish build */
.photo{background:#f4efe5;object-fit:cover;object-position:center;box-shadow:0 14px 34px rgba(16,45,78,.18);border:3px solid rgba(255,255,255,.9)}
.avatar{background:#f4efe5;object-fit:cover;object-position:center}
.kyv-profile-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;align-items:center}
.kyv-profile-links .btn{margin:0}
.kyv-source-line{padding:7px 0;border-bottom:1px solid rgba(16,45,78,.08);word-break:break-word}
.kyv-source-line:last-child{border-bottom:0}
.candidateWheelCard{align-items:center}.candidateWheelCard .avatar{flex:0 0 auto}.pill.gold{background:rgba(244,226,184,.86);border-color:rgba(180,132,42,.42);color:#102d4e}
.issueCard{border-left:4px solid rgba(180,132,42,.52)}
@media(max-width:640px){.kyv-profile-links{flex-direction:column;align-items:stretch}.kyv-profile-links .btn{text-align:center;width:100%}.photo{width:100%;max-height:360px}}

/* KYV source-first evidence rendering */
.kyv-method-banner{background:#f8fafc;border:1px solid rgba(15,23,42,.14);border-left:5px solid #0f2f57;border-radius:14px;padding:14px 16px;margin:0 0 14px;color:#0f172a}.kyv-method-banner p{margin:.35rem 0 0}.kyv-source-first-panel{border-top:4px solid #0f2f57}.kyv-section-intro{margin:18px 0 10px}.kyv-evidence-card{background:#fff;border:1px solid rgba(15,23,42,.14);border-radius:14px;padding:13px 14px;margin:12px 0;box-shadow:0 8px 20px rgba(15,23,42,.05)}.kyv-evidence-card.compact{padding:10px 11px;margin:10px 0;box-shadow:none}.kyv-evidence-kicker{text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:800;color:#0f2f57;margin-bottom:6px}.kyv-evidence-card blockquote,.kyv-source-first-panel blockquote{margin:0;padding:0 0 0 12px;border-left:3px solid #d6a542;color:#111827;font-size:.96rem;line-height:1.45}.kyv-source-row{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;margin-top:10px}.kyv-source-btn{white-space:nowrap}.kyv-issue-evidence>strong{font-size:1.08rem}.kyv-source-line{display:flex;gap:10px;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(15,23,42,.08);padding:8px 0}.kyv-source-line a{font-weight:800;color:#0f2f57;text-decoration:none}.kyv-compare-evidence .compareCell{background:#f8fafc;border-radius:14px;padding:12px}@media(max-width:720px){.kyv-source-row{display:block}.kyv-source-btn{margin-top:8px}.kyv-source-line{display:block}.kyv-source-line a{display:inline-block;margin-top:4px}}

/* KYV strict evidence + mobile tap rebuild */
.candidateWheelCard{appearance:none;-webkit-appearance:none;border:1px solid rgba(17,43,74,.16);background:#fff;text-align:left;cursor:pointer;width:100%;touch-action:manipulation;pointer-events:auto;}
.candidateWheelCard *{pointer-events:none;}
.candidateWheelText{display:block;}
.kyv-evidence-card blockquote{font-style:normal;line-height:1.55;white-space:pre-wrap;}
.kyv-evidence-label{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:800;color:#12355b;margin:.35rem 0;}
.warning{line-height:1.45;}

/* KYV profile-level Sources accordion: compact by default, expandable on tap */
.kyv-profile-sources-card{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;margin:14px 0!important}
.kyv-profile-sources-accordion{background:rgba(255,255,255,.94);border:1px solid rgba(15,35,60,.13);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(15,35,60,.06)}
.kyv-profile-sources-accordion summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;color:#08234a;font-weight:900;font-size:1.05rem;line-height:1.15}
.kyv-profile-sources-accordion summary::-webkit-details-marker{display:none}
.kyv-profile-sources-accordion summary:after{content:'▸';font-size:1rem;color:#d6a542;transition:transform .18s ease;flex:0 0 auto}
.kyv-profile-sources-accordion[open] summary:after{transform:rotate(90deg)}
.kyv-profile-sources-title{font-size:1.15rem;letter-spacing:-.01em}
.kyv-profile-sources-count{margin-left:auto;font-size:.78rem;font-weight:800;color:#687386;background:#f4f6f8;border:1px solid rgba(15,35,60,.09);border-radius:999px;padding:5px 9px;white-space:nowrap}
.kyv-profile-sources-body{border-top:1px solid rgba(15,35,60,.09);padding:10px 18px 14px;color:#687386;font-size:.85rem;line-height:1.35}
.kyv-profile-sources-body .kyv-source-line{display:block;padding:9px 0;border-bottom:1px solid rgba(15,35,60,.08);word-break:break-word}
.kyv-profile-sources-body .kyv-source-line:last-child{border-bottom:0}
@media(max-width:520px){.kyv-profile-sources-accordion summary{padding:14px 15px}.kyv-profile-sources-title{font-size:1.05rem}.kyv-profile-sources-count{font-size:.72rem;padding:4px 8px}.kyv-profile-sources-body{padding:8px 15px 12px;font-size:.8rem}}


/* KYV race comparison matrix */
.kyv-matrix-note{font-size:.9rem;color:#687386;background:rgba(255,253,248,.92);border:1px solid rgba(15,35,60,.10);border-radius:16px;padding:11px 13px;margin:0 0 12px;line-height:1.35}
.kyv-race-matrix{display:grid;gap:14px}
.kyv-matrix-issue{background:#fffdf8;border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadowSoft);overflow:hidden}
.kyv-matrix-issue h3{margin:0 0 10px;font-size:1.12rem;color:#08234a}
.kyv-matrix-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:10px;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity}
.kyv-matrix-cell{scroll-snap-align:start;border:1px solid rgba(15,35,60,.12);border-radius:16px;background:#fff;padding:12px;min-height:128px;display:flex;flex-direction:column;gap:7px}
.kyv-matrix-candidate{font-weight:900;color:#08234a;font-size:.92rem;line-height:1.2;border-bottom:1px solid rgba(15,35,60,.08);padding-bottom:7px}
.kyv-matrix-summary{font-size:.88rem;line-height:1.35;color:#26384d}
.kyv-matrix-empty{font-size:.84rem;color:#8a6f3d;background:#fff7e6;border:1px solid rgba(214,165,66,.25);border-radius:12px;padding:9px;line-height:1.25}
.kyv-matrix-count{display:inline-flex;align-self:flex-start;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#687386;background:#f4f6f8;border:1px solid rgba(15,35,60,.08);border-radius:999px;padding:4px 7px}
.kyv-matrix-sources{margin-top:auto;border:1px solid rgba(15,35,60,.10);border-radius:12px;overflow:hidden;background:#f8fafc}
.kyv-matrix-sources summary{cursor:pointer;list-style:none;padding:7px 9px;font-size:.76rem;font-weight:900;color:#17324f;display:flex;justify-content:space-between;align-items:center}
.kyv-matrix-sources summary::-webkit-details-marker{display:none}
.kyv-matrix-sources summary:after{content:'▸';color:#d6a542;transition:transform .16s ease}
.kyv-matrix-sources[open] summary:after{transform:rotate(90deg)}
.kyv-matrix-sources-body{border-top:1px solid rgba(15,35,60,.08);padding:8px 9px;display:grid;gap:8px}
.kyv-matrix-source-item blockquote{margin:0;color:#26384d;font-size:.82rem;line-height:1.32;border-left:2px solid rgba(214,165,66,.55);padding-left:8px}
.kyv-matrix-source-item .kyv-mini-citation{font-size:.72rem;color:#687386;margin-top:5px}
.kyv-matrix-source-item .kyv-source-link{font-size:.74rem;margin-top:5px;display:inline-block}
@media(max-width:520px){.kyv-matrix-issue{padding:12px;border-radius:18px}.kyv-matrix-row{grid-auto-columns:minmax(235px,82vw)}.kyv-matrix-cell{min-height:122px}.kyv-matrix-summary{font-size:.86rem}}


/* KYV mobile interaction polish: fixed visual background + smoother comparison swiping */
html{background:#123A63!important}
body{background:transparent!important;min-height:100dvh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;width:100vw;height:100dvh;pointer-events:none;z-index:-1;background:linear-gradient(180deg, rgba(8,24,52,.12), rgba(8,24,52,.08)),url('./images/kyv-fixed-background.jpeg') center center/cover no-repeat;transform:translateZ(0);will-change:transform}.app{position:relative;z-index:0;background:transparent!important;backdrop-filter:none}
.kyv-matrix-row{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scroll-behavior:smooth;scroll-padding-inline:12px;scrollbar-width:thin;touch-action:pan-x pan-y;padding-left:1px;padding-right:18px}.kyv-matrix-cell{scroll-snap-stop:normal;transform:translateZ(0)}@media(hover:none) and (pointer:coarse){.kyv-matrix-row{scroll-snap-type:none!important;grid-auto-columns:minmax(210px,78vw)!important;gap:9px;padding-bottom:10px}.kyv-matrix-cell{scroll-snap-align:none!important}}@media(max-width:520px){body::before{height:100svh}.app{background:transparent!important}.kyv-matrix-issue{overflow:hidden}.kyv-matrix-row{margin-left:-2px;margin-right:-2px;padding-left:2px;padding-right:22px}}


/* KYV official fixed background restoration */
html, body {
  min-height: 100%;
  background: #123A63 !important;
}
body {
  background: transparent !important;
  overflow-x: hidden;
}
body::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  pointer-events: none !important;
  z-index: -2 !important;
  background-image: linear-gradient(180deg, rgba(8,24,52,.08), rgba(8,24,52,.12)), url('./images/kyv-fixed-background.jpeg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  transform: translateZ(0);
}
.app, main, .page, .screen {
  background: transparent !important;
}
@supports (-webkit-touch-callout: none) {
  body::before {
    height: 100svh !important;
    background-attachment: scroll !important;
  }
}


/* === KYV OFFICIAL FIXED MOUNTAIN BACKGROUND - FINAL OVERRIDE === */
html{
  background:#052653 !important;
  min-height:100% !important;
}
body{
  margin:0 !important;
  min-height:100dvh !important;
  background:transparent !important;
  overflow-x:hidden !important;
}
body::before{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  z-index:-2 !important;
  pointer-events:none !important;
  background-image:
    linear-gradient(180deg, rgba(5,38,83,.25), rgba(5,38,83,.18)),
    url("./images/kyv-fixed-background.jpeg") !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:translateZ(0) !important;
}
body::after{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-1 !important;
  pointer-events:none !important;
  background:rgba(5,38,83,.18) !important;
}
.app{
  background:transparent !important;
  box-shadow:none !important;
  position:relative !important;
  z-index:0 !important;
}
header.kyvHeader{
  background:rgba(5,38,83,.78) !important;
  backdrop-filter:blur(8px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.05) !important;
}
.card,.toolCard,.issueCard,.candidateCard,.dataAccordion,.voteAccordion,.miniTimeline,.kyv-profile-sources-accordion,.kyv-matrix-issue{
  background:rgba(255,253,248,.93) !important;
  backdrop-filter:blur(8px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.02) !important;
}
.card.hero{
  background:linear-gradient(135deg, rgba(2,26,59,.88) 0%, rgba(5,38,83,.84) 62%, rgba(4,31,71,.86) 100%) !important;
  backdrop-filter:blur(6px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(6px) saturate(1.05) !important;
}
.bottomNav{
  background:rgba(5,38,83,.88) !important;
  backdrop-filter:blur(14px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.08) !important;
}
@media(max-width:520px){
  body::before{height:100svh !important;background-position:center center !important;}
}
/* === END KYV OFFICIAL FIXED MOUNTAIN BACKGROUND - FINAL OVERRIDE === */
