.xsf-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
.xsf-extras{grid-template-columns:repeat(4,minmax(0,1fr))}
.xsf-module{min-height:258px;padding:16px}
.xsf-module .xsf-radial{width:128px;height:128px;margin:15px auto}
.xsf-module .xsf-radial b{font-size:22px}
.xsf-module .xsf-radial small{font-size:7px}
.xsf-breakdown{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;border-top:1px solid #ffffff12;padding-top:13px}
.xsf-breakdown span{font:8px monospace;color:var(--muted);text-transform:uppercase;text-align:center}
.xsf-breakdown b{display:block;color:var(--text);font-size:11px;margin-top:4px}
.xsf-chart-stats{display:flex;gap:28px;margin-top:18px}
.xsf-chart-stats span{font:8px monospace;color:var(--muted);text-transform:uppercase}
.xsf-chart-stats b{display:block;color:var(--text);font-size:17px;margin-bottom:2px}
.xsf-bars-scroll{overflow-x:auto;overflow-y:hidden;padding:0 1px 8px;scrollbar-color:var(--red) #ffffff0d;scrollbar-width:thin}
.xsf-panels .xsf-panel{min-height:365px}
.xsf-bars{height:240px;min-width:780px;margin-top:25px;overflow:visible;align-items:flex-end;gap:5px;padding:0 0 31px;box-sizing:border-box;background:repeating-linear-gradient(to bottom,transparent 0,transparent 50px,#ff416c17 51px)}
.xsf-bar-column{position:relative;display:flex;align-items:flex-end;flex:1;height:205px;min-width:18px}
.xsf-bars .xsf-bar-column i{position:relative;display:block;flex:none;width:100%;height:var(--h);min-height:2px;background:linear-gradient(#ff416c,#a91338);box-shadow:0 0 6px #ff416c99}
.xsf-bars .xsf-bar-column i em{position:absolute;left:50%;top:-16px;transform:translateX(-50%);font:7px monospace;color:#ff7e9d;font-style:normal;white-space:nowrap}
.xsf-bar-column small{position:absolute;left:50%;bottom:-27px;transform:translateX(-50%) rotate(-62deg);transform-origin:center;font:7px monospace;color:var(--muted);white-space:nowrap}
.xsf-countries{--accent:var(--cyan)}
.xsf-country-ranking{list-style:none;padding:0;margin:20px 0 16px;display:grid;gap:10px}
.xsf-country-ranking li{margin:0}
.xsf-country-ranking li div{display:flex;align-items:center;justify-content:space-between;gap:12px;font:10px monospace}
.xsf-country-ranking li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.xsf-country-ranking li b{color:var(--cyan)}
.xsf-country-ranking li i{display:block;width:var(--w);height:3px;margin-top:4px;background:var(--cyan);box-shadow:0 0 6px #39f6ff80}
.xsf-banned-countries{border-top:1px solid #ffffff18;padding-top:12px;margin-top:12px}
.xsf-banned-countries h4{margin:0 0 7px;font:9px monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.xsf-banned-countries p,.xsf-empty{margin:0;color:var(--muted);font:9px/1.55 monospace}
.xsf-geo-credit{margin:12px 0 0;text-align:right;font:7px monospace}.xsf-geo-credit a{color:#527080;text-decoration:none}.xsf-geo-credit a:hover{color:var(--cyan)}
@media(max-width:1150px){.xsf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.xsf-module:last-child{grid-column:auto}}
@media(max-width:620px){.xsf-kpis{grid-template-columns:1fr}.xsf-module:last-child{grid-column:auto}.xsf-chart-stats{gap:15px}.xsf-chart-stats b{font-size:14px}.xsf-bars{min-width:720px}}

/* 1.4.5 — Lisibilité et cinquième indicateur. */
.xsf{--muted:#a6bcc9}
.xsf-head p,.xsf-live{font-size:12px}
.xsf-module h3,.xsf-panel h3{font-size:14px;line-height:1.5}
.xsf-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}
.xsf-module{padding:18px 12px;min-height:320px}
.xsf-module .xsf-radial{width:172px;height:172px;margin:20px auto}
.xsf-module .xsf-radial b{font-size:25px}
.xsf-module .xsf-radial small{display:block;max-width:140px;margin:8px auto 0;font-size:11px;line-height:1.45}
.xsf-breakdown{gap:12px}
.xsf-breakdown span,.xsf-chart-stats span{font-size:12px;line-height:1.5}
.xsf-breakdown b{font-size:14px}
.xsf-panel-head{gap:12px;flex-wrap:wrap}
.xsf-panel-head span,.xsf-axis{font-size:12px}
.xsf-chart-stats b{font-size:22px}
.xsf-bars{min-width:1500px;height:285px;padding-bottom:42px}
.xsf-bar-column{height:230px;min-width:44px}
.xsf-bars .xsf-bar-column i em{top:auto;bottom:5px;color:#fff;font:700 14px monospace;background:#430b20;border-radius:3px;padding:3px 2px;min-width:28px;text-align:center}
.xsf-bar-column small{font-size:11px;bottom:-32px;transform:translateX(-50%) rotate(-45deg)}
.xsf-country-ranking li div{font-size:14px;line-height:1.5}
.xsf-country-ranking li b{font-size:16px}
.xsf-banned-countries h4{font-size:13px}
.xsf-banned-countries p,.xsf-empty{font-size:12px;line-height:1.6}
.xsf-geo-credit{font-size:11px}.xsf-geo-credit a{color:var(--muted)}
.xsf-extras{grid-template-columns:repeat(2,minmax(0,1fr))}
.xsf-extras span{font-size:13px;line-height:1.5}
.xsf footer{font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:1399px){.xsf-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.xsf-module{grid-column:span 2}.xsf-module:nth-child(4),.xsf-module:nth-child(5){grid-column:span 3}}
@media(max-width:760px){.xsf-kpis{grid-template-columns:1fr 1fr}.xsf-module,.xsf-module:nth-child(4),.xsf-module:nth-child(5){grid-column:auto}.xsf-module:nth-child(3){grid-column:1/-1}.xsf-chart-stats{gap:15px;flex-wrap:wrap}}
@media(max-width:480px){.xsf-kpis,.xsf-extras{grid-template-columns:1fr}.xsf-module,.xsf-module:nth-child(3),.xsf-module:nth-child(4),.xsf-module:nth-child(5){grid-column:auto}.xsf-live{font-size:11px}.xsf-head{flex-wrap:wrap}.xsf-live{margin-left:0}}

.xsf-bars .xsf-bar-column i{min-height:30px}

/* Valeurs blanches, sans fond ni encadrement. */
.xsf-bars .xsf-bar-column i em{color:#fff;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}

/* 1.4.7 — Le classement suit la largeur du cadran au-dessus. */
.xsf-panels{grid-template-columns:repeat(5,minmax(0,1fr))}
.xsf-panels>.xsf-panel{min-width:0;box-sizing:border-box}
.xsf-panels>.xsf-panel:first-child{grid-column:span 4}
.xsf-panels>.xsf-countries{grid-column:span 1}
.xsf-bars-scroll{min-width:0;max-width:100%}
@media(max-width:1399px){.xsf-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.xsf-panels>.xsf-panel:first-child,.xsf-panels>.xsf-countries{grid-column:auto}}
@media(max-width:480px){.xsf-panels{grid-template-columns:minmax(0,1fr)}}
