/* Annales du bac : listes, filtres et énoncés */
.ax-meta{font-family:'Sora',system-ui,sans-serif;font-size:.92rem;color:var(--ink-soft);margin:.2rem 0 .6rem}
.ax-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 1.4rem;padding:0;list-style:none}
.ax-tags a,.ax-badge{display:inline-block;font-family:'Sora',system-ui,sans-serif;font-size:.78rem;font-weight:600;line-height:1;padding:.4rem .65rem;border-radius:999px;background:var(--wash);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.ax-tags a:hover{border-color:var(--gold)}
.ax-badge{padding:.28rem .55rem;font-size:.72rem;color:var(--gold-deep);background:transparent}
.ax-filter{margin:1.4rem 0 .4rem;padding:.9rem 1rem;background:var(--wash);border-radius:10px;display:grid;gap:.8rem}
.ax-filter .row{display:flex;flex-wrap:wrap;gap:.45rem .5rem;align-items:center}
.ax-filter .lab{font-family:'Sora',system-ui,sans-serif;font-size:.78rem;font-weight:600;color:var(--ink-soft);min-width:4.2rem}
.ax-filter button,.ax-filter select{font:inherit;font-family:'Sora',system-ui,sans-serif;font-size:.85rem;padding:.4rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}
.ax-filter select{border-radius:8px;padding:.4rem .6rem}
.ax-filter button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ax-filter button:focus-visible,.ax-filter select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ax-count{font-family:'Sora',system-ui,sans-serif;font-size:.85rem;color:var(--ink-soft);margin:.4rem 0 0}
.ax-year{margin:2rem 0 .2rem;font-size:1.35rem}
.ax-list{list-style:none;padding:0;margin:.4rem 0 1rem}
.ax-list li{margin:0;border-top:1px solid var(--line)}
.ax-list li:last-child{border-bottom:1px solid var(--line)}
.ax-list a{display:block;padding:.75rem .3rem;color:var(--ink);text-decoration:none}
.ax-list a:hover{background:var(--wash)}
.ax-list .t{display:flex;flex-wrap:wrap;gap:.2rem .7rem;align-items:baseline;font-family:'Sora',system-ui,sans-serif;font-weight:600;font-size:.95rem}
.ax-list .pts{font-weight:400;color:var(--ink-soft);font-size:.85rem}
.ax-list .e{display:block;margin-top:.25rem;font-size:.95rem;line-height:1.5;color:var(--ink-soft)}
.ax-list .also{display:block;margin-top:.3rem;font-family:'Sora',system-ui,sans-serif;font-size:.74rem;color:var(--ink-soft)}
.ax-list .katex{font-size:1em}
.ax-empty{display:none;padding:1rem;border:1px dashed var(--line);border-radius:8px;color:var(--ink-soft)}
.ax-grid{list-style:none;padding:0;margin:1.2rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.8rem}
.ax-grid a{display:block;height:100%;padding:.9rem 1rem;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;background:var(--paper)}
.ax-grid a:hover{border-color:var(--gold);background:var(--wash)}
.ax-grid .n{display:block;font-family:'Sora',system-ui,sans-serif;font-size:.75rem;font-weight:600;color:var(--gold-deep)}
.ax-grid .c{display:block;font-weight:600;margin:.15rem 0 .3rem;line-height:1.3}
.ax-grid .k{display:block;font-family:'Sora',system-ui,sans-serif;font-size:.8rem;color:var(--ink-soft)}
.ax-sess{list-style:none;padding:0;margin:.4rem 0 1rem}
.ax-sess li{padding:.55rem 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.3rem .9rem;align-items:baseline}
.ax-sess li:last-child{border-bottom:1px solid var(--line)}
.ax-sess .s{font-family:'Sora',system-ui,sans-serif;font-weight:600;font-size:.92rem;min-width:15rem}
.ax-sess .x a{display:inline-block;margin-right:.35rem;padding:.2rem .6rem;border:1px solid var(--line);border-radius:6px;font-family:'Sora',system-ui,sans-serif;font-size:.8rem;text-decoration:none;color:var(--ink)}
.ax-sess .x a:hover{border-color:var(--gold);background:var(--wash)}
/* énoncé */
.ax-ex{margin:1.2rem 0}
.ax-ex p{margin:.7rem 0}
.ax-ex h4.part{font-family:'Sora',system-ui,sans-serif;font-size:1.05rem;margin:2rem 0 .5rem;color:var(--gold-deep)}
.ax-ex ol.e,.ax-ex ul{margin:.5rem 0}
.ax-ex ol.e{list-style:none;padding-left:2.1rem;counter-reset:c var(--st,0)}
.ax-ex ol.e>li{counter-increment:c;position:relative;margin:.55rem 0}
.ax-ex ol.e>li::before{content:counter(c) ".";position:absolute;left:-2.1rem;width:1.8rem;text-align:right;font-weight:700}
.ax-ex ol.e ol.e>li::before{content:counter(c,lower-alpha) ".";font-weight:700}
.ax-ex ol.e ol.e ol.e>li::before{content:counter(c,lower-roman) "."}
.ax-ex ol.e[data-t="a"]>li::before{content:counter(c,lower-alpha) attr(data-s)}
.ax-ex ol.e[data-t="A"]>li::before{content:counter(c,upper-alpha) attr(data-s)}
.ax-ex ol.e[data-t="i"]>li::before{content:counter(c,lower-roman) attr(data-s)}
.ax-ex ol.e[data-t="1"]>li::before{content:counter(c) attr(data-s)}
.ax-ex li>p:first-child{margin-top:0}
.ax-ex figure.fg{margin:1.1rem auto;text-align:center}
.ax-ex figure.fg img{max-width:100%;height:auto;display:inline-block;background:#fff;border-radius:4px}
.ax-ex .tw{overflow-x:auto}
.ax-ex table{display:table;width:auto;margin:.8rem auto;font-size:1rem}
.ax-ex td{border:0;padding:.2rem .9rem;vertical-align:top}
.ax-ex pre.code{margin:1rem 0;padding:.8rem 1rem;background:#fbf7ef;border:1px solid var(--line);border-radius:8px;overflow-x:auto;font-size:.9rem;line-height:1.5}
.ax-ex pre.code code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:none;padding:0}
.ax-ex td pre.code{margin:.2rem 0}
.ax-ex code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:#f4ecdd;padding:0 .25em;border-radius:3px}
.ax-src{margin:2rem 0 0;font-size:.9rem;color:var(--ink-soft);line-height:1.55}
.ax-others{list-style:none;padding:0;margin:.6rem 0}
.ax-others li{margin:.25rem 0}
.ax-others a{text-decoration:none;border-bottom:1px solid var(--line)}
.ax-others a:hover{border-color:var(--gold)}
.ax-side-link{font-weight:600}
@media (max-width:700px){.ax-ex ol.e{padding-left:1.8rem}.ax-ex ol.e>li::before{left:-1.8rem}.ax-sess .s{min-width:0;width:100%}}
details.ax-corr{margin:1.6rem 0;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
details.ax-corr>summary{cursor:pointer;padding:.9rem 1.1rem;font-weight:600;list-style:none}
details.ax-corr>summary::-webkit-details-marker{display:none}
details.ax-corr>summary::before{content:"▸";display:inline-block;margin-right:.55rem;transition:transform .15s}
details.ax-corr[open]>summary::before{transform:rotate(90deg)}
details.ax-corr .ax-corr-body{padding:0 1.1rem 1rem;border-top:1px solid var(--line)}
details.ax-corr .ax-corr-body p:first-child{margin-top:1rem}
.ax-corr-note{font-size:.88em;opacity:.75}
.ax-ex .katex-display,.ax-corr-body .katex-display{overflow-x:auto;overflow-y:hidden;padding:.15rem 0}

details.ax-corr{min-width:0;max-width:100%}
.ax-corr-body{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden}
.ax-corr-body p,.ax-corr-body li{overflow-wrap:anywhere}
.ax-ex{min-width:0;max-width:100%;overflow-wrap:anywhere}
.ax-ex .katex{max-width:100%}
.ax-ex p:has(>.katex){overflow-x:auto;overflow-y:hidden}
