:root{--ink:#182225;--muted:#5e6b6f;--paper:#f7f5f0;--white:#fff;--accent:#005f63;--accent2:#d7ece8;--line:#ccd5d3;--warn:#fff1c7;--radius:.45rem}
*{box-sizing:border-box}
html{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
body{margin:0}
.wrap{width:min(1180px,calc(100% - 2rem));margin:auto}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.6rem;z-index:5}
.site-header{background:var(--ink);color:#fff;border-bottom:4px solid #5ab6aa}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}
.brand,.site-header a{color:#fff;text-decoration:none}
.brand{font-size:1.35rem;font-weight:800}
.brand small{font-size:.65rem;background:#fff;color:var(--ink);padding:.15rem .3rem;border-radius:.2rem}
.site-header nav{display:flex;gap:1.15rem;flex-wrap:wrap}
.site-header nav a:hover,.site-header nav a:focus{text-decoration:underline}
main{padding:2.5rem 0 4rem}
footer{border-top:1px solid var(--line);padding:1rem 0;color:var(--muted)}
h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;margin:.35rem 0 1rem}
h2{margin-top:2.4rem}
.hero{max-width:760px;padding:2rem 0}
.hero p{font-size:1.2rem}
.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:800;color:var(--accent)}
a{color:#00686d;text-underline-offset:.15em}
.filter-panel{background:var(--white);padding:1rem 1.25rem;border:1px solid var(--line);border-radius:var(--radius);margin:1.5rem 0}
.filter-panel h2{margin-top:0}
.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem}
.filter-panel label{display:flex;flex-direction:column;font-size:.88rem;font-weight:650}
.filter-panel .check{flex-direction:row;align-items:center;gap:.4rem}
input,select,button,.button{font:inherit;padding:.55rem;border:1px solid #82918e;border-radius:.3rem;background:#fff}
button,.button{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700;text-decoration:none;cursor:pointer}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem}
.metrics article,.cards article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}
.metrics strong{display:block;font-size:1.8rem}
.metrics span{color:var(--muted)}
.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
table{border-collapse:collapse;width:100%;background:#fff;font-variant-numeric:tabular-nums}
th,td{text-align:left;vertical-align:top;padding:.65rem;border-bottom:1px solid var(--line)}
thead th{background:#e8edeb}
tbody tr:hover{background:#f2f8f6}
.notice{background:var(--warn);border-left:4px solid #b47b00;padding:.7rem 1rem}
.data-state{color:var(--muted);border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}
.tag{display:inline-block;background:var(--accent2);border-radius:1rem;padding:.05rem .45rem;font-size:.75rem}
.bar-chart{height:1.2rem;background:#e2e8e6;border-radius:1rem;overflow:hidden;margin:1rem 0}
.bar-chart span{display:block;height:100%;background:var(--accent)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1rem}
.facts dt{font-weight:700}
.facts dd{margin:0}
.person-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,300px);gap:2rem;align-items:start}
.person-portrait{position:relative;margin:0;border-radius:.7rem;overflow:hidden;background:var(--ink);box-shadow:0 .8rem 2rem rgba(24,34,37,.18)}
.person-portrait img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.person-portrait figcaption{position:absolute;inset:auto 0 0;padding:2.4rem .7rem .55rem;color:#fff;font-size:.68rem;line-height:1.35;background:linear-gradient(transparent,rgba(0,0,0,.88))}
.person-portrait figcaption a{color:#fff}
.political-assessment{margin-top:2.5rem}
.political-dimension{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;margin:1.2rem 0}
.dimension-heading{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.dimension-heading h3{margin:0 auto 0 0}
.dimension-heading>strong{font-size:1.45rem}
.estimate-tag{background:var(--warn)}
.political-scale{margin:1.2rem 0}
.scale-track{height:1rem;background:linear-gradient(90deg,#9ad4c9 0%,#e8edeb 50%,#d7c5ac 100%);border-radius:1rem;position:relative}
.scale-range{position:absolute;top:.15rem;height:.7rem;background:rgba(24,34,37,.28);border:1px solid var(--ink);border-radius:1rem}
.scale-marker{position:absolute;top:-.35rem;width:.2rem;height:1.7rem;background:var(--ink);transform:translateX(-50%)}
.scale-numbers,.scale-labels{display:flex;justify-content:space-between;gap:1rem}
.scale-numbers{font-variant-numeric:tabular-nums;font-weight:700}
.scale-labels{font-size:.8rem;color:var(--muted)}
.scale-labels span:last-child{text-align:right}
.assessment-reasons{display:grid;grid-template-columns:minmax(10rem,14rem) 1fr;gap:.55rem 1rem}
.assessment-reasons dt{font-weight:750}
.assessment-reasons dd{margin:0}
.assessment-sources blockquote{margin:.35rem 0 1rem;padding-left:.8rem;border-left:3px solid var(--line);color:var(--muted)}
.llm-transparency{margin-top:2.5rem;border-top:1px solid var(--line);padding-top:.25rem}
.llm-transparency details{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.llm-transparency summary{cursor:pointer;font-weight:750;padding:1rem;background:#e8edeb}
.llm-raw-output{margin:0;padding:1rem;overflow:auto;max-height:42rem;white-space:pre-wrap;overflow-wrap:anywhere;background:#101719;color:#e7f2ef;font-size:.82rem;line-height:1.5}
.actions{display:flex;gap:1rem;flex-wrap:wrap}
code{background:#e8edeb;padding:.1rem .3rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.muted,.assessment-meta,.meta-line{color:var(--muted)}
.variant-nav{position:sticky;top:.75rem;z-index:4;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;width:max-content;max-width:100%;margin:-1rem 0 2rem auto;padding:.4rem;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:2rem;box-shadow:0 .3rem 1.3rem rgba(24,34,37,.09);backdrop-filter:blur(8px)}
.variant-nav span{font-size:.76rem;font-weight:800;padding:0 .45rem;color:var(--muted)}
.variant-nav a{padding:.4rem .7rem;border-radius:1.3rem;text-decoration:none;font-size:.82rem;font-weight:750;white-space:nowrap}
.variant-nav a[aria-current="page"]{background:var(--ink);color:#fff}
.profile-concept{--concept-accent:var(--accent)}
.concept-header{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:2.5rem;align-items:start;margin-bottom:2rem}
.dek,.lead{font-size:1.12rem;color:#39484b;max-width:62ch}
.quick-profile{display:grid;grid-template-columns:130px 1fr;gap:1.2rem;align-items:start}
.quick-profile:not(:has(.person-portrait)){grid-template-columns:1fr}
.compact-portrait{width:130px;border-radius:.5rem}
.quick-facts{margin:0;display:grid;gap:.65rem}
.quick-facts div{padding-bottom:.55rem;border-bottom:1px solid var(--line)}
.quick-facts dt{text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:800;color:var(--muted)}
.quick-facts dd{margin:.08rem 0 0;font-size:1rem;font-weight:750}
.assessment-overview{padding:clamp(1.1rem,3vw,2.2rem);background:#eef5f2;border:1px solid #c6dad5;border-radius:1rem}
.assessment-title{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1rem}
.assessment-title h2{margin:.15rem 0 0}
.verdict{max-width:34rem;text-align:right;font-size:clamp(1.15rem,2.5vw,1.7rem);line-height:1.2;color:var(--concept-accent)}
.overall-copy{max-width:80ch;margin-bottom:1.5rem}
.scale-stack{display:grid;gap:.85rem}
.scale-card{background:#fff;border:1px solid var(--line);border-radius:.72rem;padding:1rem 1.15rem;box-shadow:0 .15rem .5rem rgba(24,34,37,.035)}
.scale-card-head{display:grid;grid-template-columns:1fr auto auto;gap:.8rem;align-items:center}
.scale-card-head h3{margin:0;font-size:1.05rem}
.score{min-width:4.7rem;padding:.25rem .55rem;background:var(--ink);border-radius:.4rem;color:#fff;text-align:center;font-size:1.55rem;font-weight:850;font-variant-numeric:tabular-nums;line-height:1.2}
.confidence{padding:.18rem .5rem;border-radius:1rem;font-size:.7rem;font-weight:750;background:#e8edeb;color:#3e4a4c}
.confidence-high{background:#d8eee4;color:#185d43}.confidence-low{background:#fff0ca;color:#715000}
.scale-card .political-scale{margin:.8rem 0 .2rem}
.scale-card .scale-track{height:1.3rem;border:1px solid #becbc8;background:linear-gradient(90deg,#8fd5cc 0%,#f1f2ef 50%,#d8b794 100%);overflow:visible}
.scale-card .scale-range{top:-.28rem;height:1.75rem;background:repeating-linear-gradient(135deg,rgba(24,34,37,.08),rgba(24,34,37,.08) 4px,rgba(24,34,37,.35) 4px,rgba(24,34,37,.35) 7px);border:2px solid rgba(24,34,37,.72);z-index:1}
.scale-card .scale-marker{top:-.58rem;width:1.05rem;height:2.45rem;border:3px solid #fff;border-radius:1rem;background:var(--ink);box-shadow:0 0 0 2px var(--ink);z-index:2}
.range-readout{margin:.45rem 0 0;color:var(--muted);font-size:.76rem}
.range-key{display:inline-block;width:2rem;height:.65rem;margin-right:.3rem;vertical-align:-.05rem;border:1px solid var(--ink);background:repeating-linear-gradient(135deg,transparent,transparent 3px,rgba(24,34,37,.5) 3px,rgba(24,34,37,.5) 5px)}
.dimension-details{margin-top:.7rem;border-top:1px solid var(--line)}
.dimension-details summary{cursor:pointer;padding:.65rem 0 0;font-size:.84rem;font-weight:750;color:var(--accent)}
.dimension-details .assessment-reasons{padding-top:.8rem;font-size:.9rem}
.assessment-meta{font-size:.78rem;margin:1rem 0 0}
.research-drawers{margin:3rem 0 0}
.research-drawers h2{font-size:1.25rem;margin-bottom:.8rem}
.research-drawers>details{background:#fff;border-top:1px solid var(--line)}
.research-drawers>details:last-child{border-bottom:1px solid var(--line)}
.research-drawers>details>summary{display:flex;justify-content:space-between;cursor:pointer;padding:1rem .2rem;font-weight:750;list-style-position:inside}
.research-drawers>details>summary span{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}
.source-list,.drawer-body{padding:0 1rem 1.2rem}
.source-list li{margin-bottom:1rem}
.source-list blockquote{margin:.35rem 0;padding-left:.8rem;border-left:3px solid var(--line);color:var(--muted)}
.table-scroll{overflow:auto;max-height:35rem;margin-bottom:1rem}
.dashboard-grid{display:grid;grid-template-columns:minmax(250px,320px) 1fr;gap:1.5rem;align-items:start}
.identity-panel{position:sticky;top:5.5rem;padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:.8rem}
.identity-panel .quick-profile{grid-template-columns:1fr}.identity-panel .compact-portrait{width:100%;max-width:230px;margin:auto}
.status-line{font-size:.78rem;color:var(--muted)}.status-dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.35rem;border-radius:50%;background:#4d9b7d}
.verdict-panel{margin-bottom:1rem;padding:1.2rem 1.4rem;border-radius:.75rem;background:var(--ink);color:#fff}
.verdict-panel>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#9fd4c9}.verdict-panel>strong{display:block;margin:.3rem 0;font-size:clamp(1.3rem,3vw,2rem);line-height:1.15}.verdict-panel p{margin-bottom:0;color:#dbe6e3}
.concept-editorial{max-width:1000px;margin:auto}
.editorial-header{padding:2rem 0;border-top:7px solid var(--ink);border-bottom:1px solid var(--ink)}
.editorial-header h1{margin-bottom:.4rem}.editorial-verdict{margin:0;color:var(--accent);font-family:Georgia,serif;font-size:clamp(1.25rem,3vw,2rem);font-style:italic}
.editorial-intro{display:grid;grid-template-columns:minmax(280px,.7fr) 1.3fr;gap:3rem;padding:2.2rem 0;border-bottom:1px solid var(--line)}
.editorial-intro h2{margin-top:0}.editorial-intro .quick-profile{grid-template-columns:110px 1fr}.editorial-intro .compact-portrait{width:110px}
.editorial-scales{padding:2rem 0}.section-heading{max-width:650px;margin-bottom:1.4rem}.section-heading h2{margin:.1rem 0}.section-heading p:last-child{color:var(--muted)}
@media(max-width:760px){.nav-wrap{display:block;padding:1rem 0}
.site-header nav{margin-top:.8rem;gap:.75rem}
.columns{grid-template-columns:1fr}
table{display:block;overflow-x:auto;white-space:nowrap}
.filter-grid{grid-template-columns:1fr 1fr}
.assessment-reasons{grid-template-columns:1fr}
.person-hero{grid-template-columns:1fr}.person-portrait{max-width:280px}
.variant-nav{position:static;margin:-1rem 0 1.5rem;width:100%;border-radius:.6rem}.variant-nav span{width:100%}
.concept-header,.dashboard-grid,.editorial-intro{grid-template-columns:1fr}.assessment-title{display:block}.verdict{display:block;text-align:left;margin-top:.6rem}
.identity-panel{position:static}.editorial-intro{gap:1.5rem}.scale-card-head{grid-template-columns:1fr auto}.confidence{grid-column:1/-1;width:max-content}
}
@media(max-width:480px){.filter-grid{grid-template-columns:1fr}
}
