
body{margin:0;background:#F6F7F7;color:#2A3138;font-family:"IBM Plex Sans",system-ui,sans-serif;font-size:16px;line-height:1.6}
.wrap{max-width:46rem;margin:0 auto;padding:2rem 1.15rem 4rem}
.wrap.large{max-width:54rem}
.topbar{font-family:"IBM Plex Mono",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#5C6770;display:flex;justify-content:space-between;border-bottom:1px solid #D8DDDF;padding-bottom:.6rem}
.topbar b{color:#2455C3;font-weight:500} .topbar a{color:inherit;text-decoration:none} .topbar a:hover{text-decoration:underline}
h1{font-family:Spectral,Georgia,serif;font-weight:600;font-size:1.9rem;line-height:1.2;margin:1.2rem 0 .2rem;text-wrap:balance}
.sous{color:#5C6770;margin:0 0 1rem}
.ouverture{font-size:1.06rem;border-left:3px solid #2455C3;padding:.2rem 0 .2rem 1rem;margin:1.2rem 0}
.millesime{font-family:"IBM Plex Mono",monospace;font-size:.72rem;color:#5C6770}
h2{font-family:Spectral,Georgia,serif;font-weight:600;font-size:1.3rem;margin:2.2rem 0 .3rem}
h2 small{font-family:"IBM Plex Mono",monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#5C6770;display:block;margin-bottom:.15rem}
.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:.9rem 0}
.tuile{background:#FFFFFF;border:1px solid #E2E6E8;border-radius:6px;padding:.6rem .75rem}
.tuile .v{font-family:"IBM Plex Mono",monospace;font-size:1.3rem;font-weight:500;font-variant-numeric:tabular-nums}
.tuile .l{font-size:.78rem;color:#5C6770;line-height:1.35}
.tuile .c{font-size:.74rem;color:#5C6770}
figure{margin:1.1rem 0;background:#FFFFFF;border:1px solid #E2E6E8;border-radius:6px;padding:.9rem .9rem .5rem}
figcaption{font-size:.82rem;color:#5C6770;margin-bottom:.5rem}
figcaption b{color:#2A3138;font-weight:600}
svg{width:100%;height:auto;display:block}
.tablebox{overflow-x:auto;background:#FFFFFF;border:1px solid #E2E6E8;border-radius:6px}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th{font-family:"IBM Plex Mono",monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:#5C6770;font-weight:500;text-align:left;padding:.5rem .7rem;border-bottom:1px solid #E2E6E8;white-space:nowrap}
th.tri{cursor:pointer} th.tri:hover{color:#2455C3}
td{padding:.45rem .7rem;border-bottom:1px solid #EDF0F1} tr:last-child td{border-bottom:none}
td a{color:#2455C3;text-decoration:none} td a:hover{text-decoration:underline}
.num{font-family:"IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;text-align:right}
.note{font-size:.86rem;color:#5C6770;background:#FFF;border:1px dashed #CCD3D6;border-radius:6px;padding:.6rem .8rem}
tbody.grp tr.univ{cursor:pointer}
tbody.grp tr.univ td:first-child::before{content:"▸ ";color:#5C6770}
tbody.grp.open tr.univ td:first-child::before{content:"▾ ";color:#5C6770}
tbody.grp tr.seule td:first-child::before{content:""}
tr.variante{display:none;background:#FAFBFB}
tbody.grp.open tr.variante{display:table-row}
tr.variante td:first-child{padding-left:1.7rem;font-size:.88em}
.nb{font-family:"IBM Plex Mono",monospace;font-size:.68rem;color:#5C6770;margin-left:.4rem;white-space:nowrap}
.completude{font-size:.86rem;color:#5C6770}
.sources{margin-top:2.5rem;border-top:1px solid #D8DDDF;padding-top:.8rem;font-size:.8rem;color:#5C6770}
.sources a{color:#2455C3}
