.bp-chart-embed { margin-block: clamp(1.5rem, 3vw, 2rem); clear: both; }
.bp-observatory-chart {
--bp-data-viz-border: var(--bp-observatory-border, color-mix(in srgb, var(--bp-text) 10%, transparent));
--bp-data-viz-axis: var(--bp-observatory-axis, color-mix(in srgb, var(--bp-text) 18%, transparent));
--bp-data-viz-heading: var(--bp-observatory-heading, var(--bp-brand-dark));
position: relative; overflow: hidden; margin: 0;
padding: clamp(1.1rem, 2.5vw, 1.65rem);
border: 1px solid var(--bp-data-viz-border); border-radius: 8px;
background: var(--bp-surface); box-shadow: 0 1px 3px rgba(15,23,42,.05);
}
@media (prefers-color-scheme: dark) {
.bp-observatory-chart { --bp-data-viz-heading: var(--bp-observatory-heading, var(--bp-accent-text)); }
}
.bp-observatory-chart::before { position:absolute; inset:0 auto 0 0; width:3px; background:var(--bp-brand); content:""; }
.bp-observatory-chart__meta { display:grid; gap:.35rem; margin-bottom:1rem; padding-inline:.35rem; }
.bp-observatory-chart__title { margin:0; max-width:46rem; font-size:clamp(1.08rem,2vw,1.35rem); font-weight:800; line-height:1.2; color:var(--bp-data-viz-heading); }
.bp-observatory-chart__scroll { overflow:hidden; border-radius:6px; }
.bp-observatory-chart__svg { display:block; width:100%; height:auto; }
.bp-observatory-chart__row { fill:color-mix(in srgb,var(--bp-brand-tint) 36%,transparent); }
.bp-observatory-chart__track { fill:color-mix(in srgb,var(--bp-data-viz-heading) 9%,var(--bp-surface)); }
.bp-observatory-chart__axis { stroke-width:1; }
.bp-observatory-chart__value { font-size:17px; font-weight:750; }
.bp-observatory-chart__label { font-size:16px; font-weight:650; }
.bp-observatory-chart__watermark { font-size:12px; font-weight:550; }
.bp-observatory-chart__notes { display:grid; gap:.45rem; margin:.85rem .35rem 0; padding-top:.75rem; border-top:1px solid var(--bp-data-viz-border); }
.bp-observatory-chart__footnote,.bp-observatory-chart__methodology { margin:0; color:var(--bp-text-muted); font-size:var(--text-sm); line-height:1.55; }
.bp-observatory-chart__methodology summary { display:flex; align-items:center; width:fit-content; min-height:44px; color:var(--bp-text-secondary); font-weight:700; cursor:pointer; }
.bp-observatory-chart__methodology p { margin:.45rem 0 0; }
.bp-observatory-chart__methodology a { display:inline-block; margin-left:.25rem; }
.bp-observatory-chart__actions { margin:.85rem .35rem 0; }
.bp-observatory-download-btn { justify-self:start; min-height:44px; }
.bp-observatory-chart--stat .bp-observatory-chart__meta { margin-bottom:1rem; }
.bp-observatory-stat-visual { display:grid; place-items:center; gap:.35rem; min-height:18rem; padding:2rem; border:1px solid color-mix(in srgb,var(--bp-border) 86%,var(--bp-surface)); border-radius:8px; background:var(--bp-surface); text-align:center; }
.bp-observatory-stat-visual__value { margin:0; font-size:clamp(2.5rem,6vw,4rem); font-weight:800; line-height:1; color:var(--bp-data-viz-heading); }
.bp-observatory-stat-visual__unit { margin:0; font-size:1rem; color:var(--bp-text-soft); } .bp-data-viz__signal { display:grid; gap:.35rem; margin-top:.75rem; }
.bp-data-viz__hero { display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem; margin:0; }
.bp-data-viz__hero strong { font-size:clamp(1.75rem,4vw,2.5rem); font-weight:800; line-height:1; color:var(--bp-data-viz-heading); }
.bp-data-viz__hero span { color:var(--bp-text-secondary); font-size:var(--text-sm); font-weight:700; }
.bp-data-viz__takeaway { margin:0; color:var(--bp-text-secondary); font-size:var(--text-sm); line-height:1.5; }
@media (max-width:600px) {
.bp-chart-embed { margin-block:1.5rem; }
.bp-observatory-chart { padding:1rem; }
}
@media print {
.bp-chart-embed,.bp-observatory-chart { break-inside:avoid; }
.bp-observatory-chart { box-shadow:none!important; }
.bp-observatory-chart__actions { display:none!important; }
}   .bp-world-viz__intro { margin:0; max-width:52rem; color:var(--bp-text-secondary); font-size:var(--text-sm); line-height:1.55; }
.bp-world-viz__regions { display:grid; grid-template-columns:1fr; gap:.75rem; }
.bp-world-viz__card { min-width:0; height:100%; padding:1rem; border:1px solid var(--bp-data-viz-border); border-radius:8px; background:var(--bp-surface); }
.bp-world-viz__card-head { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.25rem .75rem; align-items:baseline; }
.bp-world-viz__region,.bp-world-viz__eyebrow,.bp-world-viz__value,.bp-world-viz__label,.bp-world-viz__secondary { margin:0; }
.bp-world-viz__region { font-size:1rem; line-height:1.3; color:var(--bp-data-viz-heading); }
.bp-world-viz__eyebrow,.bp-world-viz__secondary { color:var(--bp-text-muted); font-size:var(--text-sm); line-height:1.45; }
.bp-world-viz__value { margin-top:.65rem; color:var(--bp-brand); font-size:clamp(1.65rem,8vw,2.4rem); font-weight:800; line-height:1; }
.bp-world-viz__label { margin-top:.3rem; color:var(--bp-text); font-weight:700; line-height:1.4; }
.bp-world-viz__secondary { margin-top:.45rem; } .bp-viz-timeline { position:relative; display:grid; gap:0; margin:1.25rem 0 0; padding:0; list-style:none; }
.bp-viz-timeline__item { position:relative; padding:0 0 1.5rem 2rem; }
.bp-viz-timeline__item:last-child { padding-bottom:0; }
.bp-viz-timeline__item::before { content:""; position:absolute; top:.35rem; left:.2rem; width:.75rem; height:.75rem; border-radius:50%; background:var(--bp-brand); box-shadow:0 0 0 4px var(--bp-surface); z-index:1; }
.bp-viz-timeline__item:not(:last-child)::after { content:""; position:absolute; top:.75rem; bottom:-.35rem; left:.55rem; width:2px; background:var(--bp-data-viz-axis); }
.bp-viz-timeline__date,.bp-viz-timeline__value,.bp-viz-timeline__label { margin:0; }
.bp-viz-timeline__date { color:var(--bp-text-muted); font-size:var(--text-sm); font-weight:700; }
.bp-viz-timeline__value { margin-top:.15rem; color:var(--bp-data-viz-heading); font-size:clamp(1.3rem,6vw,1.8rem); font-weight:800; line-height:1.15; }
.bp-viz-timeline__label { margin-top:.25rem; color:var(--bp-text-secondary); line-height:1.5; } .bp-viz-metrics { display:grid; grid-template-columns:1fr; gap:.75rem; margin-top:1.25rem; }
.bp-viz-metrics__item { min-width:0; padding:1.1rem; border:1px solid var(--bp-data-viz-border); border-radius:8px; background:color-mix(in srgb,var(--bp-brand-tint) 18%,var(--bp-surface)); }
.bp-viz-metrics__value,.bp-viz-metrics__label { margin:0; }
.bp-viz-metrics__value { color:var(--bp-data-viz-heading); font-size:clamp(2rem,10vw,3.1rem); font-weight:800; line-height:1; }
.bp-viz-metrics__label { margin-top:.45rem; color:var(--bp-text-secondary); font-weight:650; line-height:1.45; } .bp-viz-process__status { margin:1rem 0 0; padding:.8rem 1rem; border-left:3px solid var(--bp-brand); background:color-mix(in srgb,var(--bp-brand-tint) 22%,var(--bp-surface)); color:var(--bp-text-secondary); line-height:1.5; }
.bp-viz-process { display:grid; grid-template-columns:1fr; gap:.75rem; margin:1rem 0 0; padding:0; list-style:none; }
.bp-viz-process__item { display:grid; grid-template-columns:2.25rem 1fr; gap:.75rem; align-items:start; min-width:0; padding:.9rem; border:1px solid var(--bp-data-viz-border); border-radius:8px; }
.bp-viz-process__step { display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--bp-brand); color:var(--bp-surface); font-weight:800; }
.bp-viz-process__label,.bp-viz-process__detail { margin:0; }
.bp-viz-process__label { color:var(--bp-data-viz-heading); font-weight:800; line-height:1.35; }
.bp-viz-process__detail { margin-top:.25rem; color:var(--bp-text-secondary); font-size:var(--text-sm); line-height:1.5; } @media (min-width:560px) {
.bp-world-viz__regions,.bp-viz-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:760px) {
.bp-viz-timeline { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.bp-viz-timeline__item { padding:2rem 1rem 0; text-align:center; }
.bp-viz-timeline__item::before { top:.25rem; left:50%; transform:translateX(-50%); }
.bp-viz-timeline__item:not(:last-child)::after { top:.6rem; right:-50%; bottom:auto; left:50%; width:100%; height:2px; }
.bp-viz-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:900px) {
.bp-world-viz__regions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.bp-viz-metrics { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bp-viz-process { grid-template-columns:repeat(4,minmax(0,1fr)); }
.bp-viz-process__item { grid-template-columns:1fr; }
} .bp-observatory-chart--line .bp-observatory-chart__grid,
.bp-observatory-chart--slope .bp-observatory-chart__grid,
.bp-observatory-chart--dot .bp-observatory-chart__dot-track {
stroke: var(--bp-data-viz-axis);
stroke-width: .8;
opacity: .72;
}
.bp-observatory-chart--line .bp-observatory-chart__line,
.bp-observatory-chart--slope .bp-observatory-chart__line {
fill: none;
stroke: var(--bp-brand);
stroke-width: 2.5;
stroke-linecap: round;
stroke-linejoin: round;
}
.bp-observatory-chart--line .bp-observatory-chart__point,
.bp-observatory-chart--slope .bp-observatory-chart__point,
.bp-observatory-chart--dot .bp-observatory-chart__point {
fill: var(--bp-surface);
stroke: var(--bp-brand);
stroke-width: 2.5;
}
.bp-observatory-chart--dot .bp-observatory-chart__dot-stem {
stroke: var(--bp-brand);
stroke-width: 2.5;
stroke-linecap: round;
}  .bp-observatory-chart__svg text { font-family:inherit; }
.bp-observatory-chart__grid,
.bp-observatory-chart__axis,
.bp-observatory-chart__dot-track { stroke:var(--bp-data-viz-axis); }
.bp-observatory-chart__line,
.bp-observatory-chart__dot-stem { fill:none; stroke:var(--bp-brand); }
.bp-observatory-chart__bar { fill:var(--bp-brand); }
.bp-observatory-chart__label { fill:var(--bp-text); }
.bp-observatory-chart__value { fill:var(--bp-data-viz-heading); }
.bp-observatory-chart__watermark { fill:var(--bp-text-muted); } @media (max-width:600px) {
.bp-observatory-chart__value { font-size:16px; }
.bp-observatory-chart__label { font-size:15px; }
} @media (max-width:600px) {
.bp-observatory-chart--line .bp-observatory-chart__scroll,
.bp-observatory-chart--dot .bp-observatory-chart__scroll {
overflow-x:auto;
overflow-y:hidden;
-webkit-overflow-scrolling:touch;
scrollbar-width:thin;
}
.bp-observatory-chart--line .bp-observatory-chart__svg,
.bp-observatory-chart--dot .bp-observatory-chart__svg { width:560px; max-width:none; } [data-dataset="canada-participation-2022-2026"] .bp-observatory-chart__svg { width:520px; }
[data-dataset="europe-federation-competition-2025"] .bp-observatory-chart__svg { width:500px; }
[data-dataset="europe-federation-competition-2025"] .bp-observatory-chart__value { font-size:22px; font-weight:800; }  }  .article-content ol.bp-viz-timeline,
.entry-content ol.bp-viz-timeline,
.bp-article ol.bp-viz-timeline,
.article-content ol.bp-viz-process,
.entry-content ol.bp-viz-process,
.bp-article ol.bp-viz-process {
margin-left: 0;
padding-left: 0;
list-style: none;
}
.article-content ol.bp-viz-timeline > li,
.entry-content ol.bp-viz-timeline > li,
.bp-article ol.bp-viz-timeline > li,
.article-content ol.bp-viz-process > li,
.entry-content ol.bp-viz-process > li,
.bp-article ol.bp-viz-process > li {
list-style: none;
}
.article-content ol.bp-viz-timeline > li::marker,
.entry-content ol.bp-viz-timeline > li::marker,
.bp-article ol.bp-viz-timeline > li::marker,
.article-content ol.bp-viz-process > li::marker,
.entry-content ol.bp-viz-process > li::marker,
.bp-article ol.bp-viz-process > li::marker {
content: "";
} .bp-observatory-chart__data-details {
margin: .9rem .35rem 0;
padding-top: .75rem;
border-top: 1px solid var(--bp-data-viz-border);
color: var(--bp-text-secondary);
font-style: normal;
}
.bp-observatory-chart__data-details > summary {
width: fit-content;
min-height: 44px;
display: flex;
align-items: center;
color: var(--bp-text-secondary);
font-weight: 700;
cursor: pointer;
}
.bp-observatory-chart__data-table-wrap {
margin-top: .55rem;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
} .bp-observatory-chart__sources-details {
color: var(--bp-text-secondary);
font-style: normal;
}
.bp-observatory-chart__sources-details > summary {
width: fit-content;
min-height: 44px;
display: flex;
align-items: center;
color: var(--bp-text-secondary);
font-weight: 700;
cursor: pointer;
}
.bp-observatory-chart__sources-list {
margin: .45rem 0 0;
padding-left: 1.1rem;
display: grid;
gap: .3rem;
}
.bp-observatory-chart__data-table {
width: 100%;
min-width: 34rem;
border-collapse: collapse;
font-size: .92rem;
line-height: 1.45;
}
.bp-observatory-chart__data-table th,
.bp-observatory-chart__data-table td {
padding: .6rem .65rem;
border: 1px solid var(--bp-data-viz-border);
vertical-align: top;
text-align: left;
}
.bp-observatory-chart__data-table thead th {
background: color-mix(in srgb, var(--bp-brand-tint) 34%, var(--bp-surface));
color: var(--bp-data-viz-heading);
font-weight: 800;
}
.bp-observatory-chart__data-table tbody th {
color: var(--bp-text);
font-weight: 700;
} .bp-viz-criteria {
display: grid;
grid-template-columns: 1fr;
gap: .75rem;
margin-top: 1rem;
}
.bp-viz-criteria__item {
min-width: 0;
padding: 1rem;
border: 1px solid var(--bp-data-viz-border);
border-left: 4px solid var(--bp-brand);
border-radius: 8px;
background: var(--bp-surface);
}
.bp-viz-criteria__item--not_met {
border-left-color: var(--bp-error);
}
.bp-viz-criteria__criterion,
.bp-viz-criteria__reality,
.bp-viz-criteria__gap {
margin: 0;
}
.bp-viz-criteria__criterion {
color: var(--bp-data-viz-heading);
font-size: 1.05rem;
line-height: 1.3;
}
.bp-viz-criteria__reality,
.bp-viz-criteria__gap {
margin-top: .55rem;
color: var(--bp-text-secondary);
font-size: var(--text-sm);
line-height: 1.5;
}
.bp-viz-criteria__gap strong {
color: var(--bp-text);
}
@media (min-width: 760px) {
.bp-viz-criteria {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
@media (max-width: 600px) {
.bp-observatory-chart__data-details {
margin-inline: 0;
}
.bp-observatory-chart__data-table {
min-width: 31rem;
}
}