/* Tableau de bord de la Wallonie — feuille de style éditoriale (v2 condensée) */

@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,400;0,500;0,600;0,700;0,800&family=Source+Serif+4:opsz,wght@8..60,400;8..60,600;8..60,700&display=swap');

:root{
  --ink:#1a1a1a; --ink2:#2c2c2c; --grey:#6b6b6b; --faint:#9a9a9a;
  --line:#e6e3dc; --bg:#fbfaf7; --card:#ffffff;
  --wal:#d81e2c; --fla:#0f8aa0; --bxl:#7c5ba6; --eu27:#e0a100;
  --eu15:#9c978c; --other:#dcd8d0; --otherink:#79756c;
  --pos:#1e8a4d; --neg:#c8332f; --neutral:#7a7a7a;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
  --sans:'Libre Franklin','Helvetica Neue',Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);
  -webkit-font-smoothing:antialiased;line-height:1.5;font-size:15px}
a{color:inherit;text-decoration:none}
a:hover{color:var(--wal)}

.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:1000px;margin:0 auto;padding:0 24px}

/* ============= Brand bar (compact) ============= */
.brandbar{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.96);
  backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.brandbar .in{display:flex;align-items:center;justify-content:space-between;
  padding:10px 24px;max-width:1240px;margin:0 auto;gap:18px}
.brand{display:flex;align-items:baseline;gap:10px}
.brand .mk{font-size:10.5px;font-weight:800;letter-spacing:.18em;
  text-transform:uppercase;color:var(--wal)}
.brand .nm{font-family:var(--serif);font-weight:700;font-size:16px;letter-spacing:-.005em}
.brandmeta{font-size:11.5px;color:var(--grey);display:flex;align-items:center;gap:8px}
.brandmeta b{color:var(--ink2);font-weight:600}
.brandmeta .dot{color:var(--line)}

/* ============= Hero rotateur ============= */
.hero-rotator{padding:24px 0 32px;background:var(--bg);border-bottom:1px solid var(--line)}
.hero-h{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px;gap:18px}
.hero-h .kicker{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--wal);margin-bottom:4px}
.hero-title{font-family:var(--serif);font-weight:700;font-size:clamp(22px,3vw,32px);
  line-height:1.05;letter-spacing:-.015em;margin:0;max-width:24ch}
.hero-ctrls{display:flex;gap:8px;align-items:center}
.cbtn{width:34px;height:34px;border:1px solid var(--line);background:#fff;color:var(--ink);
  border-radius:50%;cursor:pointer;font-size:15px;display:inline-flex;align-items:center;justify-content:center;
  transition:all .15s}
.cbtn:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.cbtn.paused{background:#f4f1ea}

.rotator{background:#fff;border:1px solid var(--line);border-radius:8px;
  padding:24px 28px;min-height:430px;position:relative;overflow:hidden;
  display:grid;grid-template-columns:300px 1fr;gap:32px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);transition:opacity .35s ease}
.rotator.fade{opacity:0}

.rt-left{display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.rt-cat{font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--wal)}
.rt-lab{font-family:var(--serif);font-weight:700;font-size:22px;line-height:1.18;letter-spacing:-.005em;color:var(--ink);margin:6px 0 8px}
.rt-desc{font-size:13px;line-height:1.5;color:var(--grey);max-width:34ch}
.rt-summary{font-family:var(--serif);font-size:15px;line-height:1.45;color:var(--ink2);font-weight:500;border-left:3px solid var(--wal);padding-left:10px;margin-top:2px}
.rt-mode{font-size:11px;color:var(--faint);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:8px}
.rt-keys{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.rt-keys .k{border-top:3px solid var(--bd);background:#fbfaf7;padding:8px 10px;border-radius:0 0 3px 3px}
.rt-keys .k .lab{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bd)}
.rt-keys .k .num{font-family:var(--serif);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;margin-top:3px;color:var(--ink)}
.rt-keys .k .sub{font-size:10.5px;color:var(--grey);margin-top:3px}
.rt-keys .k.wal{--bd:var(--wal)} .rt-keys .k.fla{--bd:var(--fla)}
.rt-keys .k.eu27{--bd:var(--eu27)} .rt-keys .k.eu15{--bd:var(--eu15)}
.rt-source{font-size:10.5px;color:var(--faint);margin-top:8px}
.rt-detail-link{font-size:12px;font-weight:600;color:var(--wal);margin-top:4px;align-self:flex-start}
.rt-detail-link:hover{text-decoration:underline}

.rt-right{position:relative;display:flex;flex-direction:column;min-width:0}

/* Bar chart compact dans le rotateur */
.rt-bars{--namew:118px;--valw:58px;--rkw:46px;flex:1;display:flex;flex-direction:column}
.rt-bars .axis{position:relative;height:14px;margin-left:calc(var(--namew) + 8px);
  margin-right:calc(var(--valw) + var(--rkw) + 16px);border-bottom:1px solid var(--line)}
.rt-bars .tick{position:absolute;top:0;font-size:10.5px;color:var(--faint);transform:translateX(-50%);white-space:nowrap}
.rt-bars .rows{position:relative;flex:1;display:flex;flex-direction:column}
.rt-bars .overlay{position:absolute;left:calc(var(--namew) + 8px);right:calc(var(--valw) + var(--rkw) + 16px);top:0;bottom:0;pointer-events:none}
.rt-bars .gl{position:absolute;top:0;bottom:0;width:1px;background:#efece5}
.rt-bars .refline{position:absolute;top:0;bottom:0;border-left:1px dashed var(--eu27);opacity:.85}
.rt-bars .reflab{position:absolute;top:-12px;transform:translateX(-50%);font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--eu27);white-space:nowrap}
.rt-bars .row{position:relative;display:grid;grid-template-columns:var(--namew) 1fr var(--valw) var(--rkw);
  align-items:center;gap:8px;height:17px}
.rt-bars .row .nm{font-size:11px;color:var(--otherink);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-bars .row.hl .nm{font-weight:700;color:var(--ink)}
.rt-bars .row.wal .nm{color:var(--wal)} .rt-bars .row.fla .nm{color:var(--fla)} .rt-bars .row.bxl .nm{color:var(--bxl)}
.rt-bars .plot{position:relative;height:100%}
.rt-bars .bar{position:absolute;left:0;top:50%;transform:translateY(-50%);height:9px;width:var(--w);
  background:var(--other);border-radius:0 2px 2px 0;transition:width .8s cubic-bezier(.22,1,.36,1)}
.rt-bars .row.wal .bar{background:var(--wal)}
.rt-bars .row.fla .bar{background:var(--fla)}
.rt-bars .row.bxl .bar{background:var(--bxl)}
.rt-bars .row.eu27 .bar{background:var(--eu27)}
.rt-bars .row.eu15 .bar{background:var(--eu15)}
.rt-bars .val{font-size:11px;font-variant-numeric:tabular-nums;color:var(--otherink);text-align:right;white-space:nowrap}
.rt-bars .row.hl .val{font-weight:700;color:var(--ink)}
.rt-bars .rkcol{text-align:right;font-size:10.5px;color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}
.rt-bars .rkcol .rk{font-weight:600;color:var(--otherink)}
.rt-bars .row.hl .rkcol .rk{color:var(--ink)}
.rt-bars .rkcol .rkb{color:var(--faint);font-weight:400;margin-left:1px}
.rt-bars .rkcol .dash{color:var(--faint)}

/* Time chart dans le rotateur */
.rt-ts{flex:1;display:flex;flex-direction:column;min-width:0}
.rt-ts svg{width:100%;height:100%;display:block;flex:1;min-height:340px}
.rt-ts .grid line{stroke:#efece5;stroke-width:1}
.rt-ts text{font-size:10.5px;fill:var(--faint);font-family:var(--sans)}
.rt-ts .axis-y line,.rt-ts .axis-x line{stroke:var(--line)}
.rt-ts path.line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.rt-ts .endlbl{font-size:11px;font-weight:700;font-family:var(--sans)}
.rt-ts .ptlbl{font-size:10px;font-weight:700;font-family:var(--sans);fill:#3a3a3a;font-variant-numeric:tabular-nums}
.rt-ts .ptlbl-bg{fill:#fff;opacity:.85}
.rt-ts .delta{font-size:10.5px;font-weight:600;font-family:var(--sans);font-variant-numeric:tabular-nums}

.rt-legend{display:flex;gap:14px;font-size:11.5px;color:var(--grey);margin-top:8px;flex-wrap:wrap}
.rt-legend .lg2{display:inline-flex;align-items:center;gap:5px}
.rt-legend .ln{width:18px;height:2.4px;border-radius:1.2px}

.rt-mode-bar{display:flex;justify-content:space-between;align-items:center;
  margin:0 0 10px;font-size:11px;color:var(--faint);letter-spacing:.02em;gap:14px}
.rt-mode-bar .switch{display:inline-flex;background:#f4f1ea;border:1px solid var(--line);
  border-radius:999px;padding:3px;flex:none}
.rt-mode-bar .switch .tab{font-size:10.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;padding:5px 12px;border-radius:999px;color:var(--grey);
  cursor:pointer;transition:all .18s;border:0;background:transparent;font-family:inherit}
.rt-mode-bar .switch .tab:hover{color:var(--ink)}
.rt-mode-bar .switch .tab.on{background:var(--ink);color:#fff}
.rt-mode-bar .switch .tab[disabled]{cursor:not-allowed;color:#cfc9bf}
.rt-mode-bar .switch .tab[disabled]:hover{color:#cfc9bf}
.rt-mode-bar .cap{color:var(--faint);font-style:italic;font-size:11px;text-align:right}
.rt-mode-bar .cap b{font-weight:600;color:var(--grey);font-style:normal}

.rt-dots{display:flex;justify-content:center;gap:5px;margin-top:14px}
.rt-dot{width:8px;height:8px;border-radius:50%;background:#d4cfc4;cursor:pointer;transition:all .2s;border:none;padding:0}
.rt-dot.on{background:var(--wal);transform:scale(1.25)}
.rt-dot.next{background:#a8a39a}

/* ============= Tableau dense 2 colonnes ============= */
.cats-table{padding:38px 0 30px}
.evals-sub{margin:16px 0 10px;padding-top:14px;border-top:1px dashed var(--rule)}
.evals-h{margin:0 0 4px;font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:-.005em}
.evals-d{font-size:12px;color:var(--grey);margin:0 0 10px;max-width:80ch;line-height:1.55}
.evals-d b{color:var(--ink2);font-weight:600}
.tab-head{margin:0 0 14px;padding:0 0 10px;border-bottom:1px solid var(--rule)}
.tab-title{font-family:var(--serif);font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.015em;margin:0 0 6px;color:var(--ink)}
.tab-click{font-size:13px;color:var(--ink2);margin:0;line-height:1.5;font-style:italic}
.tab-intro{font-size:12px;color:var(--grey);max-width:90ch;margin:14px 0 22px;line-height:1.55}
.tab-intro b{color:var(--ink2);font-weight:600}
.tab-legend{display:inline-flex;gap:10px;margin-left:14px;color:var(--grey);font-size:11px;vertical-align:middle}
.tab-legend .lg{display:inline-flex;align-items:center;gap:4px}
.tab-legend .pill{display:inline-block;width:10px;height:10px;border-radius:50%}
.tab-legend .pill.good{background:var(--pos)} .tab-legend .pill.mid{background:#b8b3a8}
.tab-legend .pill.bad{background:var(--neg)}

.cat-block{margin-bottom:32px}
.cat-h{margin:0 0 4px;font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:-.005em}
.cat-d{font-size:12px;color:var(--grey);margin:0 0 10px}

.idx-table{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;border-top:1px solid var(--line)}
.idx-col{display:flex;flex-direction:column}
.idx-head{display:grid;grid-template-columns:minmax(0,1fr) 64px 56px 56px 56px 76px;
  align-items:end;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--faint);padding:9px 4px 6px;border-bottom:1px solid var(--line);gap:6px}
.idx-head .col.geo{text-align:right;font-variant-numeric:tabular-nums}
.idx-head .col.geo.wal{color:var(--wal)} .idx-head .col.geo.fla{color:var(--fla)}
.idx-head .col.geo.eu27{color:var(--eu27)} .idx-head .col.geo.rk{color:var(--ink2);text-align:right}

.idx-row{display:grid;grid-template-columns:minmax(0,1fr) 64px 56px 56px 56px 76px;
  align-items:start;gap:6px;padding:8px 4px;border-bottom:1px dotted #ece8df;
  font-size:12.5px;color:var(--ink2);cursor:pointer;transition:background .12s;min-height:38px}
.idx-row:hover{background:#f5f1e8}
.idx-row .lab{font-weight:600;color:var(--ink);line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:4px;padding-top:1px}
.idx-row .lab .un{font-size:10px;color:var(--faint);font-weight:500;margin-left:4px}
.idx-row .v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12.5px;
  display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.idx-row .v .num{display:block}
.idx-row .v .diff{display:block;font-size:9.5px;color:var(--faint);font-weight:500;margin-top:1px;letter-spacing:.01em}
.idx-row .v.wal .num{color:var(--wal);font-weight:700}
.idx-row .v.wal .diff{visibility:hidden}
.idx-row .v.fla .num{color:var(--fla);font-weight:600}
.idx-row .v.be .num{color:#555}
.idx-row .v.eu27 .num{color:#8c7a3a}
.idx-row .v.dash{color:var(--faint);font-weight:400}
.idx-row .v.rk{font-weight:800;letter-spacing:.01em}
.idx-row .v.rk .top{display:flex;justify-content:flex-end;align-items:center;gap:5px}
.idx-row .v.rk .num{font-variant-numeric:tabular-nums}
.idx-row .v.rk .base{font-size:10px;font-weight:500;color:var(--faint)}
.idx-row .v.rk .dot{width:6px;height:6px;border-radius:50%;flex:none}
.idx-row .v.rk .delta{font-size:9.5px;font-weight:600;margin-top:2px}
.idx-row .v.rk .delta.pos{color:var(--pos)}
.idx-row .v.rk .delta.neg{color:var(--neg)}
.idx-row .v.rk .delta.neu{color:var(--neutral)}
.idx-row .v.rk.good .num{color:var(--pos)} .idx-row .v.rk.good .dot{background:var(--pos)}
.idx-row .v.rk.mid .num{color:#776f5e} .idx-row .v.rk.mid .dot{background:#b8b3a8}
.idx-row .v.rk.bad .num{color:var(--neg)} .idx-row .v.rk.bad .dot{background:var(--neg)}
.idx-row.no-region .lab{color:var(--ink2);font-weight:500}
.idx-row.no-region .lab::after{content:" · national";color:var(--faint);font-weight:400;font-size:10.5px;letter-spacing:.02em}

/* ============= Zoom Wallonie (IWEPS — 6 entités au lieu de 31) ============= */
.zoom-tag{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--wal);background:#fdecee;border:1px solid #f4c7cc;border-radius:3px;padding:2px 7px;
  margin-left:10px;vertical-align:middle}
.zoom-table{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.zoom-head{display:grid;grid-template-columns:minmax(0,1.5fr) 80px 76px 76px 76px 76px 76px;
  align-items:end;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--faint);padding:9px 4px 6px;border-bottom:1px solid var(--line);gap:6px}
.zoom-head .col.geo{text-align:right;font-variant-numeric:tabular-nums}
.zoom-head .col.geo.wal{color:var(--wal)}
.zoom-row{display:grid;grid-template-columns:minmax(0,1.5fr) 80px 76px 76px 76px 76px 76px;
  align-items:start;gap:6px;padding:8px 4px;border-bottom:1px dotted #ece8df;
  font-size:12.5px;color:var(--ink2);cursor:pointer;transition:background .12s;min-height:40px}
.zoom-row:hover{background:#f5f1e8}
.zoom-row .lab{font-weight:600;color:var(--ink);line-height:1.25;padding-right:4px;padding-top:2px}
.zoom-row .lab .un{font-size:10px;color:var(--faint);font-weight:500;margin-left:4px}
.zoom-row .lab .yr{font-size:10px;color:var(--faint);font-weight:500;display:block;margin-top:1px}
.zoom-row .v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
  display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;padding-top:2px}
.zoom-row .v .num{display:block;font-size:12.5px}
.zoom-row .v .diff{display:block;font-size:9.5px;color:var(--faint);font-weight:500;margin-top:1px}
.zoom-row .v .rk-eu{display:block;font-size:9.5px;color:var(--wal);font-weight:700;margin-top:1px;letter-spacing:.02em}
.zoom-row .v.wal .num{color:var(--wal);font-weight:700;font-size:13.5px}
.zoom-row .v.wal .diff{visibility:hidden}
.zoom-row .v.prov .num{color:#555}
.zoom-row .v.prov.best .num{color:var(--pos);font-weight:700}
.zoom-row .v.prov.worst .num{color:var(--neg);font-weight:700}
/* Mini bar charts for Zoom Wallonie province comparison */
.zoom-row .v.pbar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:4px 0 2px;gap:2px}
.zoom-row .v.pbar .pbar-track{width:14px;height:28px;background:#f0ebe0;border-radius:2px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.zoom-row .v.pbar .pbar-fill{width:100%;background:#a8a8a8;border-radius:1px;transition:height .5s ease-out}
.zoom-row .v.pbar.best .pbar-fill{background:var(--pos)}
.zoom-row .v.pbar.worst .pbar-fill{background:var(--neg)}
.zoom-row .v.pbar .pbar-val{font-size:10px;font-variant-numeric:tabular-nums;color:#888;font-weight:500;line-height:1}
.zoom-row .v.pbar.best .pbar-val{color:var(--pos);font-weight:700}
.zoom-row .v.pbar.worst .pbar-val{color:var(--neg);font-weight:700}
.zoom-row .v.dash{color:var(--faint);font-weight:400}

/* ============= Detail page ============= */
.crumb{font-size:12.5px;color:var(--grey);margin:24px 0 4px}
.crumb a{color:var(--grey)} .crumb a:hover{color:var(--wal)}
.det-h{padding:8px 0 22px;border-bottom:1px solid var(--line)}
.det-h .kicker{margin-bottom:10px}
.det-h h1{font-family:var(--serif);font-weight:700;font-size:clamp(28px,4.4vw,42px);
  line-height:1.08;letter-spacing:-.018em;margin:0 0 12px}
.det-h .dek{font-family:var(--serif);font-size:17px;color:var(--ink2);line-height:1.5;
  margin:0 0 4px}
.det-h .warning{display:inline-block;font-size:12px;color:#7a3608;background:#fbf3da;
  border:1px solid #f0d99c;border-radius:4px;padding:6px 11px;margin-top:10px}
.det-h .meta code{font-family:Menlo,Consolas,monospace;font-size:11.5px;background:#f4f1ea;padding:1px 5px;border-radius:3px;color:#444}
.det-h .src-links{display:inline-block;margin-top:6px;font-size:12px;color:var(--grey)}
.det-h .src-links a{color:var(--wal);text-decoration:none;font-weight:600;word-break:break-all}
.det-h .src-links a:hover{text-decoration:underline}
.det-h .src-note{font-size:11.5px;color:var(--faint);font-style:italic}

.kf{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 32px}
.kf .c{border-top:3px solid var(--bd);background:#fff;border-radius:0 0 4px 4px;
  padding:14px 16px 14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.kf .c .lab{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bd)}
.kf .c .num{font-family:var(--serif);font-size:30px;font-weight:700;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;margin-top:5px;line-height:1;color:var(--ink)}
.kf .c .sub{font-size:11.5px;color:var(--grey);margin-top:5px}
.kf .c.wal{--bd:var(--wal)} .kf .c.fla{--bd:var(--fla)}
.kf .c.eu27{--bd:var(--eu27)} .kf .c.eu15{--bd:var(--eu15)}

.fig{margin:30px 0 0}
.fig h2{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:-.005em;margin:0 0 10px}
.caption{font-size:12px;color:var(--faint);margin:0 0 12px;letter-spacing:.02em}

/* Insights "Faits saillants" */
.insights{margin:24px 0 14px;padding:16px 20px;background:#fbf6ee;border-left:4px solid var(--wal);border-radius:0 4px 4px 0}
.ins-h{margin:0 0 8px;font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink)}
.ins-list{margin:0;padding-left:20px;list-style:disc}
.ins-list li{font-size:13.5px;line-height:1.55;color:var(--ink2);margin:3px 0}
.ins-list li b{color:var(--ink)}

/* TS picker — chips for selecting entities */
.ts-picker{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.ts-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink2);
  border:1px solid var(--line);border-radius:14px;padding:3px 10px 3px 8px;cursor:pointer;
  background:#fff;transition:background .15s,border-color .15s}
.ts-chip:hover{background:#f8f5ee}
.ts-chip input{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.ts-chip .dot{display:inline-block;width:9px;height:9px;border-radius:50%;opacity:.4;transition:opacity .15s}
.ts-chip:has(input:checked){background:var(--c, #d81e2c);background:color-mix(in srgb, var(--c, #d81e2c) 8%, #fff);border-color:var(--c, #d81e2c);color:var(--ink)}
.ts-chip:has(input:checked) .dot{opacity:1}

/* Raw data table */
.raw-table{overflow:hidden}
.raw-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:4px;background:#fff}
.raw-tab{border-collapse:collapse;font-size:12px;min-width:100%;font-variant-numeric:tabular-nums}
.raw-tab th, .raw-tab td{padding:5px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.raw-tab th{background:#f6f1e7;font-weight:700;color:var(--ink2);font-size:11px;letter-spacing:.04em;text-transform:uppercase;position:sticky;top:0}
.raw-tab th.ent, .raw-tab td.ent{text-align:left;font-weight:600;color:var(--ink2);min-width:140px;position:sticky;left:0;background:#fff}
.raw-tab tr.hl td.ent{color:var(--wal);font-weight:700}
.raw-tab tr.hl{background:#fbf6ee}
.raw-tab tr.hl td.ent{background:#fbf6ee}
.raw-tab td .na{color:var(--faint)}
.raw-tab tbody tr:hover{background:#f8f5ee}

.bars-host{--namew:158px;--valw:74px}
.axis{position:relative;height:16px;margin-left:calc(var(--namew) + 10px);
  margin-right:calc(var(--valw) + 10px);border-bottom:1px solid var(--line)}
.tick{position:absolute;top:0;font-size:11px;color:var(--faint);transform:translateX(-50%);white-space:nowrap}
.rows{position:relative}
.overlay{position:absolute;left:calc(var(--namew) + 10px);right:calc(var(--valw) + 10px);
  top:0;bottom:0;pointer-events:none}
.overlay .gl{position:absolute;top:0;bottom:0;width:1px;background:#efece5}
.overlay .refline{position:absolute;top:0;bottom:0;border-left:1px dashed var(--eu27);opacity:.85}
.overlay .reflab{position:absolute;top:-15px;transform:translateX(-50%);font-size:10px;
  font-weight:700;letter-spacing:.06em;color:var(--eu27);white-space:nowrap}
.row{position:relative;display:grid;grid-template-columns:var(--namew) 1fr var(--valw);
  align-items:center;gap:10px;height:25px}
.row:hover{background:#f3f0ea}
.row .nm{font-size:12.5px;color:var(--otherink);text-align:right;padding-right:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row.hl .nm{font-weight:700;color:var(--ink)}
.row.wal .nm{color:var(--wal)} .row.fla .nm{color:var(--fla)} .row.bxl .nm{color:var(--bxl)}
.row.eu27 .nm,.row.eu15 .nm{color:var(--ink)}
.plot{position:relative;height:100%}
.bar{position:absolute;left:0;top:50%;transform:translateY(-50%);height:13px;width:0;
  background:var(--other);border-radius:0 2px 2px 0;transition:width .8s cubic-bezier(.22,1,.36,1)}
.bars-host.in .bar{width:var(--w)}
.row.wal .bar{background:var(--wal)} .row.fla .bar{background:var(--fla)}
.row.bxl .bar{background:var(--bxl)} .row.eu27 .bar{background:var(--eu27)}
.row.eu15 .bar{background:var(--eu15)}
.val{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--otherink);
  text-align:right;padding-right:2px;white-space:nowrap}
.row.hl .val{font-weight:700;color:var(--ink)}
.val .fl{color:var(--faint);font-size:9px;vertical-align:super;font-weight:400;margin-left:1px}
.val .rk{color:var(--faint);font-weight:400;font-size:10.5px;margin-left:4px}

.legend{display:flex;flex-wrap:wrap;gap:14px 20px;margin:16px 0 0;font-size:12px;color:var(--grey)}
.lg{display:flex;align-items:center;gap:6px}
.sw{width:12px;height:12px;border-radius:2px;flex:none}
.sw.wal{background:var(--wal)} .sw.fla{background:var(--fla)} .sw.bxl{background:var(--bxl)}
.sw.eu27{background:var(--eu27)} .sw.eu15{background:var(--eu15)} .sw.other{background:var(--other)}

.ts-host{margin:18px 0 0}
.ts-svg{width:100%;height:340px;display:block}
.ts-svg .grid line{stroke:#efece5;stroke-width:1}
.ts-svg .axis-y text,.ts-svg .axis-x text{font-size:11px;fill:var(--faint);font-family:var(--sans)}
.ts-svg .axis-y line,.ts-svg .axis-x line{stroke:var(--line)}
.ts-svg path.line{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.ts-svg .pt{stroke-width:0}
.ts-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px;font-size:12px}
.ts-legend .lg2{display:inline-flex;align-items:center;gap:6px;color:var(--grey)}
.ts-legend .ln{width:18px;height:2.4px;border-radius:1.2px}

footer{border-top:1px solid var(--line);padding:30px 0 60px;color:var(--grey);
  font-size:12px;line-height:1.65;background:#fff}
footer p{margin:5px 0}
footer b{color:#444}
footer code{font-family:Menlo,Consolas,monospace;font-size:11.5px;background:#f4f1ea;padding:1px 5px;border-radius:3px}

@media(max-width:1000px){
  .idx-table{grid-template-columns:1fr;gap:0}
  .idx-col + .idx-col .idx-head{border-top:1px solid var(--line)}
}
@media(max-width:880px){
  .rotator{grid-template-columns:1fr;min-height:0;gap:18px}
  .rt-left{order:2}
  .rt-keys{grid-template-columns:repeat(4,1fr)}
  .kf{grid-template-columns:repeat(2,1fr)}
  .bars-host{--namew:104px;--valw:60px}
  .brandmeta{display:none}
  .idx-head,.idx-row{grid-template-columns:minmax(0,1fr) 56px 50px 50px 50px 56px;font-size:11.5px}
}
@media(max-width:520px){
  .rt-keys{grid-template-columns:repeat(2,1fr)}
  .hero-title{font-size:22px}
  .idx-head,.idx-row{grid-template-columns:minmax(0,1fr) 52px 46px 52px;gap:4px}
  .idx-head .col.fla,.idx-row .v.fla,.idx-head .col.be,.idx-row .v.be{display:none}
}
