﻿:root{color-scheme:light dark;--bg: light-dark(#f4f4f0, #14161c);--card: light-dark(#fff, #1d2028);--code-bg: light-dark(#f1f1ec, #2a2d37);--ink: light-dark(#1a1c28, #eceef3);--ink-soft: light-dark(#4a4d5b, #c4c7d1);--muted: light-dark(#5e6172, #a6aab7);--border: light-dark(#e3e4ea, #3a3e4a);--control-border: light-dark(#8a8d9a, #8b90a1);--primary: light-dark(#0b51a8, #8cb8ff);--primary-hover: light-dark(#083f85, #b3d0ff);--primary-soft: light-dark(#e8f0fc, #1f2e48);--on-accent: light-dark(#fff, #111318);--c: light-dark(#14713f, #6fd79f);--c-soft: light-dark(#e3f5ec, #163525);--nc: light-dark(#b02f2f, #ff8f87);--nc-soft: light-dark(#fbe8e8, #3f1f20);--na: light-dark(#565a67, #b8bcc8);--na-soft: light-dark(#ecedf1, #2c2f39);--nt: light-dark(#8a5e07, #f2c462);--nt-soft: light-dark(#fbf2dc, #3a2f12);--shadow: 0 1px 2px light-dark(rgb(20 22 40 / 4%), rgb(0 0 0 / 30%)), 0 8px 24px light-dark(rgb(20 22 40 / 6%), rgb(0 0 0 / 35%))}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:1rem;line-height:1.55;color:var(--ink);background:var(--bg)}button{font:inherit;cursor:pointer;color:var(--ink)}:focus-visible{outline:3px solid var(--primary);outline-offset:3px;border-radius:4px}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em;background:var(--code-bg);padding:.0625rem .25rem;border-radius:4px}a{color:var(--primary)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.app{min-height:100vh}@media(width >= 981px){body{padding-right:320px}.progress-pane{position:fixed;top:0;right:0;bottom:0;width:320px;overflow:auto;border-left:1px solid var(--border)}}@media(width <= 980px){.progress-pane{border-top:1px solid var(--border)}}.main-pane{padding:.5rem 8% 4rem;max-width:880px;margin:0 auto;width:100%}.main-pane:focus{outline:none}.header-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 8% .75rem;max-width:880px;margin:0 auto;width:100%}.header-inner .brand,.header-inner .page-banner{margin:0}.header-inner .page-banner{margin-top:.25rem}.skip-links ul{list-style:none;margin:0;padding:0}.skip-links a{position:absolute;left:.75rem;top:-100px;z-index:10;background:var(--primary);color:var(--on-accent);padding:.5rem 1rem;border-radius:8px;font-weight:600}.skip-links a:focus{top:.75rem}.brand{font-size:.875rem;color:var(--muted);margin-bottom:.5rem;letter-spacing:.04em;font-variant-caps:all-small-caps}.brand .version{color:var(--ink);font-weight:600}h1.title{font-size:1.625rem;margin:0 0 .25rem}.subtitle{color:var(--ink-soft);font-size:1rem;margin:0 0 1.5rem}.theme-toggle{flex-shrink:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0;background:var(--card);color:var(--ink);border:1px solid var(--control-border);border-radius:50%;box-shadow:var(--shadow)}.theme-toggle:hover{border-color:var(--primary);color:var(--primary)}.theme-toggle svg{width:22px;height:22px}.theme-toggle .sun{display:none}:root[data-active-theme=dark] .theme-toggle .sun{display:block}:root[data-active-theme=dark] .theme-toggle .moon{display:none}ul.recap-stats,ul.rates,ul.recap-actions,ul.form-actions,.page-row ul.acts,.pane-actions ul,ul.pane-actions,.recap-filters ul{list-style:none;padding:0}.btn{background:var(--card);border:1px solid var(--control-border);border-radius:8px;padding:.5rem 1rem;font-size:.875rem;color:var(--ink)}.btn:hover{border-color:var(--primary);color:var(--primary)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-accent);font-weight:600}.btn.primary:hover{color:var(--on-accent);background:var(--primary-hover);border-color:var(--primary-hover)}a.btn{display:inline-block;text-decoration:none}.pill{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700;display:inline-block}.pill.C{background:var(--c-soft);color:var(--c)}.pill.NC{background:var(--nc-soft);color:var(--nc)}.pill.NA{background:var(--na-soft);color:var(--na)}.pill.NT{background:var(--nt-soft);color:var(--nt)}.form-field{margin:0 0 1rem}.form-field .hint{font-size:.875rem;color:var(--muted);margin:0 0 .5rem}.form-field label,.page-row label{display:block;font-weight:600;font-size:.875rem;margin-bottom:.25rem}.form-field input,.form-field textarea,.page-row input{width:100%;font:inherit;font-size:1rem;padding:.5rem .75rem;border:1px solid var(--control-border);border-radius:8px;background:var(--card);color:var(--ink)}.family-banner{background:var(--primary-soft);color:var(--primary);padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;margin-top:0;margin-bottom:1rem;display:flex;gap:.75rem;align-items:center}.family-banner .index{background:var(--primary);color:var(--on-accent);border-radius:8px;padding:.125rem .5rem;font-variant-numeric:tabular-nums}.q-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.75rem 2rem;box-shadow:var(--shadow)}.q-text .crit-num,.q-text .pres-tag{display:table;font-size:.75rem;font-weight:600;font-variant-caps:all-small-caps;letter-spacing:0;line-height:1.5;margin-bottom:.75rem;padding:.125rem .5rem;border-radius:4px}.q-text .crit-num{background:var(--primary-soft);color:var(--primary)}.q-text .pres-tag{background:var(--nt-soft);color:var(--nt)}.q-text{font-size:1.25rem;line-height:1.45;margin:0 0 1.5rem;font-weight:500}.current-answer{margin:0 0 1rem;font-size:1rem;color:var(--ink)}.current-answer .answer-value{font-weight:700}.answers{display:flex;gap:.75rem;flex-wrap:wrap}.answers button{background:var(--card);border:1.5px solid var(--control-border);border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;min-width:100px}.answers button:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.answers button.yes{border-color:var(--c);color:var(--c)}.answers button.yes:hover{background:var(--c-soft);border-color:var(--c);color:var(--c)}.answers button.no{border-color:var(--nc);color:var(--nc)}.answers button.no:hover{background:var(--nc-soft);border-color:var(--nc);color:var(--nc)}.answers button.case{border-color:var(--nt);color:var(--nt)}.answers button.case:hover{background:var(--nt-soft);border-color:var(--nt);color:var(--nt)}.answers button.na{border-color:var(--na);color:var(--na)}.answers button.na:hover{background:var(--na-soft);border-color:var(--na);color:var(--na)}.answers button.na[aria-pressed=true]{background:var(--na);border-color:var(--na);color:var(--on-accent)}.case-panel{background:var(--nt-soft);border-left:4px solid var(--nt);border-radius:0 8px 8px 0;padding:.75rem 1rem;margin:1rem 0 .5rem;font-size:.875rem;color:var(--ink);display:none}.case-panel.shown{display:block}.case-panel .panel-title{color:var(--nt);font-weight:700;font-size:1rem;margin:0 0 .5rem}.case-actions button{background:var(--card);color:var(--ink);border:1px solid var(--control-border);border-radius:8px;padding:.25rem .75rem;font-size:.875rem}.case-actions button:hover{border-color:var(--primary);color:var(--primary)}.case-panel .case-actions{margin-top:.75rem;display:flex;gap:.5rem;flex-wrap:wrap}details.ref{margin-top:1rem}details.ref summary{color:var(--muted);cursor:pointer;font-size:.875rem}details.ref summary:hover{color:var(--ink)}details.ref>div{background:var(--bg);border-radius:8px;padding:.75rem 1rem;margin-top:.5rem;font-size:.875rem;color:var(--ink-soft);border:1px solid var(--border)}details.ref .ref-title{font-weight:700;color:var(--ink);display:block;margin:.5rem 0 .125rem;font-size:.75rem;font-variant-caps:all-small-caps;letter-spacing:.04em}details.ref ul{margin:.25rem 0;padding-left:1rem}details.ref li{margin:.125rem 0}details.ref p{margin:.25rem 0}details.ref ul.tests>li{margin:.5rem 0}details.ref ul.tests ul{margin-top:.25rem}.tests .test-num{font-weight:700}.case-panel ul{margin:.25rem 0 .5rem;padding-left:1.25rem}.case-panel p{margin:.5rem 0}.bottom-controls ul{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;gap:.5rem 1rem;align-items:baseline;flex-wrap:wrap;font-size:.875rem}.bottom-controls a{color:var(--ink-soft);padding:.25rem .125rem}.bottom-controls a:hover{color:var(--primary)}.bottom-controls .next-hint{color:var(--muted);font-size:.875rem}.answers button[aria-pressed=true]::before{content:"✓ ";content:"✓ "/""}.answers button.yes[aria-pressed=true]{background:var(--c);border-color:var(--c);color:var(--on-accent)}.answers button.no[aria-pressed=true]{background:var(--nc);border-color:var(--nc);color:var(--on-accent)}.answers button.case[aria-pressed=true]{background:var(--nt);border-color:var(--nt);color:var(--on-accent)}.case-actions button[aria-pressed=true]{background:var(--nt);border:1px solid var(--nt);color:var(--on-accent);font-weight:600}.case-actions button[aria-pressed=true]::before{content:"✓ ";content:"✓ "/""}.note-field{margin-top:1.25rem}.note-field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.note-field .hint{font-size:.875rem;color:var(--ink-soft);margin:0 0 .5rem}.note-field textarea{width:100%;min-height:4.5em;font:inherit;font-size:1rem;padding:.5rem .75rem;border:1px solid var(--control-border);border-radius:8px;background:var(--card);color:var(--ink);resize:vertical}.note-field .saved{font-size:.75rem;color:var(--ink-soft);margin:.25rem 0 0;min-height:1.2em}.progress-pane{background:var(--card);padding:1.5rem}.progress-pane:focus{outline:none}.progress-pane h2{font-size:.875rem;font-variant-caps:all-small-caps;letter-spacing:.05em;color:var(--muted);margin:0 0 .75rem}.progress-pane h3{font-size:.75rem;font-variant-caps:all-small-caps;letter-spacing:.05em;color:var(--muted);margin:1.25rem 0 .5rem}.progress-pane .global-bar{appearance:none;display:block;width:100%;height:6px;border:0;background:var(--bg);border-radius:999px;overflow:hidden;margin-bottom:1rem;color:var(--primary)}.progress-pane .global-bar::-webkit-progress-bar{background:var(--bg);border-radius:999px}.progress-pane .global-bar::-webkit-progress-value{background:var(--primary);border-radius:999px}.progress-pane .global-bar::-moz-progress-bar{background:var(--primary);border-radius:999px}.progress-pane .global-text{margin-top:0;font-size:.75rem;color:var(--ink-soft);margin-bottom:1rem}.progress-pane nav>ul{list-style:none;padding:0;margin:0}.progress-pane nav>ul>li{padding:.5rem .75rem;border-radius:8px;margin-bottom:.25rem;cursor:pointer}.progress-pane nav>ul>li:hover{background:var(--bg)}.progress-pane nav>ul>li.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.progress-pane nav>ul>li.done{color:var(--ink-soft)}.progress-pane nav>ul>li .row{display:flex;justify-content:space-between;gap:.5rem;align-items:center;font-size:.875rem}.progress-pane nav>ul>li .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-pane nav>ul>li .status-pip{width:18px;height:18px;border-radius:50%;flex-shrink:0;background:var(--bg);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--on-accent);font-weight:700}.progress-pane nav>ul>li.done .status-pip{background:var(--c);border-color:var(--c)}.progress-pane nav>ul>li.done .status-pip::before{content:"✓"}.progress-pane nav>ul>li.active .status-pip{border-color:var(--primary);background:var(--card)}.progress-pane nav>ul>li.active .status-pip::before{content:"";width:6px;height:6px;background:var(--primary);border-radius:50%}.count{color:var(--muted);font-size:.75rem}.etat-sauvegarde{font-size:.75rem;color:var(--ink-soft);margin-bottom:.75rem}.etat-sauvegarde p{margin:0 0 .25rem}.etat-sauvegarde .alerte{color:var(--nc)}.etat-sauvegarde .a-exporter{color:var(--nt)}.etat-sauvegarde a{color:var(--primary)}.pane-actions{margin:0 0 1rem}.pane-actions ul{margin:0}.pane-actions li+li{margin-top:.5rem}.pane-actions a{display:block;text-align:center;text-decoration:none}.pane-actions a,.pane-actions button{width:100%;background:var(--card);border:1px solid var(--control-border);border-radius:8px;padding:.5rem 1rem;font-size:.875rem;color:var(--ink)}.pane-actions a:hover,.pane-actions button:hover{border-color:var(--primary);color:var(--primary)}.pane-actions .aide-bouton{font-size:.75rem;color:var(--ink-soft);margin:.25rem 0 0}.navlink{display:block;color:inherit;text-decoration:none}.navlink:hover .name{text-decoration:underline}.navlink:focus-visible{outline:3px solid var(--primary);outline-offset:4px;border-radius:4px}.progress-pane nav>ul>li.current{background:var(--primary-soft);color:var(--primary);font-weight:600}.pane-actions a[aria-current]{border-color:var(--primary);color:var(--primary);font-weight:600;background:var(--primary-soft)}.page-banner{display:flex;gap:.5rem .75rem;align-items:baseline;flex-wrap:wrap;font-size:.875rem;color:var(--ink-soft)}.page-banner[hidden]{display:none}.page-banner .page-name{color:var(--ink);font-weight:700}.page-banner .url{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;word-break:break-all}.recap{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.75rem 2rem;box-shadow:var(--shadow)}.recap h2{margin:0 0 .25rem;font-size:1.25rem}.recap .rate{display:flex;align-items:baseline;gap:1rem;padding:1rem;background:var(--c-soft);border-radius:8px;margin-bottom:1.5rem}.recap .rate .big{font-size:2.375rem;font-weight:700;color:var(--c);line-height:1}.recap .rate .lbl{color:var(--ink-soft);font-size:.875rem}ul.rates{margin:0 0 1rem}ul.rates li+li{margin-top:.75rem}.recap-stats{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:.75rem;margin-bottom:1.5rem}.recap-stats .s .v,.recap-stats .s .l{display:block}.recap-stats .s{padding:1rem;border-radius:8px;background:var(--bg);border:1px solid var(--border)}.recap-stats .s .v{font-size:1.25rem;font-weight:700;line-height:1.1}.recap-stats .s .l{font-size:.75rem;font-variant-caps:all-small-caps;color:var(--muted);letter-spacing:.05em;margin-top:.25rem}.recap-stats .s.c .v{color:var(--c)}.recap-stats .s.nc .v{color:var(--nc)}.recap-stats .s.na .v{color:var(--na)}.recap-stats .s.nt .v{color:var(--nt)}.theme-heading{font-size:.875rem;margin-top:1.5rem;color:var(--ink-soft);font-variant-caps:all-small-caps;letter-spacing:.04em}.recap-table{width:100%;border-collapse:collapse;font-size:.875rem}.recap-table th,.recap-table td{text-align:left;padding:.75rem .5rem;border-bottom:1px solid var(--border)}.recap-table th{font-size:.75rem;font-variant-caps:all-small-caps;color:var(--muted);letter-spacing:.04em}.recap-table .num{font-size:.875rem;letter-spacing:0;font-variant-numeric:tabular-nums;font-weight:600;color:var(--primary);width:60px}.recap-table .col-statut{width:80px;text-align:right}.recap-table .note{color:var(--ink-soft);font-size:.875rem;margin-top:.25rem}.recap-table .crit-link{font-weight:600;color:var(--primary)}.note-label{font-weight:600}.recap-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.5rem 0}.recap-actions a,.recap-actions button{display:inline-block;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--control-border);border-radius:8px;padding:.5rem 1rem;font-size:.875rem}.recap-actions a:hover,.recap-actions button:hover{border-color:var(--primary);color:var(--primary)}.recap-actions a.primary,.recap-actions button.primary{background:var(--primary);color:var(--on-accent);border-color:var(--primary)}.recap-actions a.primary:hover,.recap-actions button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:var(--on-accent)}.recap-filters ul{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 .5rem}.recap-filters button{background:var(--bg);border:1px solid var(--control-border);border-radius:999px;padding:.25rem .75rem;font-size:.75rem}.recap-filters button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.perim-summary{font-size:.875rem;color:var(--ink-soft);margin:0 0 1rem}.perim-summary dt{font-weight:600;color:var(--ink)}.perim-summary dd{margin:0 0 .5rem}.page-legend{font-size:.875rem;margin:.5rem 0 1rem;padding-left:1.5rem}.page-legend .page-code{font-weight:700}.table-scroll{overflow-x:auto;max-width:100%;position:relative}.table-scroll:focus-visible{outline:3px solid var(--primary)}.synth-table{border-collapse:collapse;width:100%;font-size:.875rem}.synth-table th,.synth-table td{border-bottom:1px solid var(--border);padding:.5rem .25rem;text-align:left;vertical-align:top}.synth-table th{font-size:.75rem;color:var(--ink-soft)}.synth-table .st{text-align:center;white-space:nowrap}.synth-table .agg{border-left:2px solid var(--border)}.synth-table .note{color:var(--ink-soft);margin-top:.25rem}.synth-table td:nth-child(2){min-width:260px}.synth-table details.notes summary{cursor:pointer;color:var(--muted);font-size:.75rem;margin-top:.25rem}.pillbtn{text-decoration:none;border-radius:4px}.pillbtn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.pillbtn:hover .pill{outline:1px solid currentcolor}.q-card h2:not(.q-text){font-size:1.25rem;margin:1.5rem 0 .25rem}.page-rows{list-style:none;padding:0;margin:.5rem 0 1rem}.page-row{display:grid;grid-template-columns:2rem 1fr 1.3fr auto;gap:.75rem;align-items:end;padding:1rem 0;border-top:1px solid var(--border)}.page-row .num{font-weight:700;color:var(--primary);padding-bottom:.5rem}.page-row .acts{display:flex;gap:.5rem;flex-wrap:wrap;margin:0}.page-row .meta{grid-column:2/-1;font-size:.75rem;color:var(--muted);margin-top:-0.25rem}@media(width <= 700px){.page-row{grid-template-columns:1fr}.page-row .num{padding:0}.page-row .meta{grid-column:auto}}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0 0}.incoherence{background:var(--nc-soft);border-left:4px solid var(--nc);border-radius:0 8px 8px 0;padding:.75rem 1rem;margin:1rem 0;font-size:.875rem}.incoherence ul{margin:.5rem 0 0;padding-left:1.25rem}.pane-msg{font-size:.875rem;border-radius:8px;padding:.75rem;margin:0 0 1rem}.pane-msg:empty{display:none}.pane-msg.ok{background:var(--c-soft);color:var(--c)}.pane-msg.err{background:var(--nc-soft);color:var(--nc)}.pane-msg p{margin:0}.pane-msg ul{margin:.5rem 0 0;padding-left:1rem;text-align:left}.pane-msg ul.msg-actions{list-style:none;padding:0}@media print{.progress-pane,.bottom-controls,.answers,.case-panel,.case-panel.shown,.theme-toggle{display:none}.main-pane{padding:0;max-width:none}:root,:root[data-theme]{color-scheme:light}}