/* Arbre décisionnel « Quel modèle pour quel besoin ? » — styles du document d'origine, renommés et limités à .arbre */
.arbre{--paper:#F6F7F5;--ink:#1C2126;--muted:#667085;--rail:#B9C1BC;--line:#E3E7E4;--teal:#0F6E56;--teal-soft:#DFF1EA;--amber:#B45309;--amber-soft:#FBEFD9;--red:#A32D2D;--red-soft:#FCEBEB;--card:#FFFFFF;
    --mono:var(--fm);--sans:var(--fb);--indent:28px;--stub:32px}
.arbre .sub{color:var(--muted);margin:0 0 20px;max-width:760px}
.arbre .filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;font-size:13.5px}
.arbre .filter .lbl{color:var(--muted);margin-right:4px}
.arbre .filter button{font:inherit;font-family:var(--mono);font-size:12.5px;background:var(--card);border:1px solid var(--rail);border-radius:999px;padding:5px 12px;color:var(--ink);cursor:pointer}
.arbre .filter button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.arbre .filter button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.arbre .attn{margin:0 0 28px;padding:20px 22px 12px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.arbre .attn h2{font-size:19px;font-weight:600;margin:0 0 6px;letter-spacing:-.01em}
.arbre .attn h3{font-size:14.5px;font-weight:600;margin:20px 0 6px}
.arbre .attn p{margin:0 0 10px;font-size:14px;max-width:860px}
.arbre .attn p em{font-style:normal;color:var(--teal);font-weight:500}
.arbre .attn p.src{color:var(--muted);font-size:12.5px}
.arbre .attn svg{display:block;max-width:800px;margin:10px 0 14px}
.arbre .quant{margin:0 0 28px;padding:18px 20px 14px;background:var(--card);border:1px solid var(--line);border-radius:12px}
.arbre .quant h2{font-size:17px;font-weight:600;margin:0 0 8px}
.arbre .quant p{margin:0 0 12px;font-size:14px;max-width:820px}
.arbre .quant p em{font-style:normal;color:var(--muted)}
.arbre .quant svg{font-family:var(--sans);max-width:780px;display:block}
.arbre .quant .rnote{margin-top:10px;font-size:11.5px;color:var(--muted)}
.arbre .axes{margin:0 0 26px;font-size:13px;color:var(--muted)}
.arbre .axes summary{cursor:pointer;color:var(--ink);font-weight:500;font-size:14px}
.arbre .axes ul{margin:10px 0 0;padding-left:18px;columns:2;column-gap:32px}
.arbre .axes li{break-inside:avoid;margin-bottom:6px}
.arbre .axes li b{color:var(--ink);font-weight:500}
.arbre .axes li small{color:var(--muted);font-size:11.5px}
@media (max-width:760px){.arbre .axes ul{columns:1}
}
.arbre .alegend{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 32px;padding:16px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:36px;font-size:13px;color:var(--muted)}
.arbre .alegend b{color:var(--ink);font-weight:500}
.arbre .alegend .item{display:flex;align-items:center;gap:10px}
.arbre .alegend i.d{display:inline-block;width:7px;height:7px;border-radius:50%;border:1px solid var(--muted);margin:0 1px;vertical-align:middle;background:var(--card)}
.arbre .alegend i.d.on{background:var(--muted)}
.arbre .alegend i.q{border-color:var(--teal)}
.arbre .alegend i.q.on{background:var(--teal)}
.arbre .tree ul{list-style:none;margin:0;padding:0 0 0 var(--indent);position:relative}
.arbre .tree ul::before{content:'';position:absolute;left:0;top:0;bottom:0;border-left:1.5px solid var(--rail)}
.arbre .tree li{position:relative;padding:12px 0 12px 22px}
.arbre .tree li::before{content:'';position:absolute;left:calc(-1 * var(--indent));top:var(--stub);width:calc(var(--indent) + 22px);border-top:1.5px solid var(--rail)}
.arbre .tree li:last-child::after{content:'';position:absolute;left:calc(-1 * var(--indent) - 2px);top:calc(var(--stub) + 1px);bottom:0;width:4px;background:var(--paper)}
.arbre .tree > ul{margin-left:22px}
.arbre .node{display:inline-block;background:var(--card);border:1px solid var(--rail);border-radius:10px;padding:9px 16px;font-weight:500;font-size:15px;min-height:42px;vertical-align:top}
.arbre .node.q{border-color:var(--ink)}
.arbre .tree li > .arow > .amain > .node{cursor:pointer;user-select:none;padding-right:38px;position:relative}
.arbre .tree li > .arow > .amain > .node::after{content:'';position:absolute;right:16px;top:19px;width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
.arbre .tree li.collapsed > .arow > .amain > .node::after{transform:rotate(-45deg)}
.arbre .tree li.collapsed .expl, .arbre .tree li.collapsed .cards, .arbre .tree li.collapsed .pipe, .arbre .tree li.collapsed .radar{display:none}
.arbre .radar{margin-top:16px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.arbre .radar h5{margin:0 0 6px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}
.arbre .rgrid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:12px 20px;align-items:start}
.arbre .rgrid svg{max-width:300px;font-family:var(--sans)}
.arbre .rleg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;margin:2px 0 8px}
.arbre .rl i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:middle}
.arbre .rl code{font-family:var(--mono);font-size:11.5px}
.arbre .rtab{border-collapse:collapse;font-size:11.5px;width:100%}
.arbre .rtab th{text-align:left;font-weight:500;color:var(--ink);padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:bottom}
.arbre .rtab th small{display:block;font-weight:400;color:var(--muted);font-size:10.5px}
.arbre .rtab td{padding:4px 6px;border-bottom:1px solid var(--line);color:var(--ink);white-space:nowrap}
.arbre .rtab td.nd{color:var(--muted)}
.arbre .rtab code{font-family:var(--mono);font-size:11px}
.arbre .rnote{margin:8px 0 0;font-size:11px;color:var(--muted)}
@media (max-width:900px){.arbre .rgrid{grid-template-columns:1fr}
.arbre .rtab{display:block;overflow-x:auto}
}
.arbre .tree li.collapsed > .arow{grid-template-columns:1fr}
.arbre .fold{margin-left:14px;font-size:12.5px;color:var(--muted);vertical-align:middle}
.arbre .fold button{font:inherit;background:none;border:none;color:var(--teal);cursor:pointer;padding:0;text-decoration:underline dotted}
.arbre .agents{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);font-size:12px}
.arbre .agents h5{margin:0 0 6px}
.arbre .agents p{margin:0 0 5px;color:var(--muted)}
.arbre .agents p b{color:var(--ink);font-weight:500;margin-right:4px}
.arbre .agents code{font-family:var(--mono);font-size:11px;color:var(--teal)}
.arbre .loop{font-size:10px;font-family:var(--mono);color:var(--amber);border:1px solid var(--amber-soft);background:var(--amber-soft);border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:middle;font-weight:400}
.arbre .node small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:1px}
.arbre .expl{margin:10px 0 0;max-width:760px;color:var(--ink);font-size:13.5px}
.arbre .expl em{color:var(--muted);font-style:normal}
.arbre .subfn{margin:18px 0 0;font-size:13.5px;font-weight:500}
.arbre .subfn small{font-weight:400;color:var(--muted);font-size:12px;margin-left:6px}
.arbre .tree li.collapsed .subfn{display:none}
.arbre a.jump{color:var(--teal);text-decoration:none;border-bottom:1px solid var(--teal-soft)}
.arbre a.jump:hover{border-bottom-color:var(--teal)}
.arbre .tree li:target > .node{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.arbre html{scroll-behavior:smooth}
.arbre .cards{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.arbre .cap{border-collapse:collapse;font-size:12.5px;margin-top:12px;max-width:860px}
.arbre .cap th{text-align:left;font-weight:500;padding:6px 8px;border-bottom:1px solid var(--ink);color:var(--ink)}
.arbre .cap td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.arbre .cap td:first-child{font-weight:500}
.arbre .tree li.collapsed .cap{display:none}
.arbre .arow{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px 28px;align-items:start}
.arbre .pipe{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px 12px;margin-top:2px}
.arbre .pipe h5{margin:0 0 10px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}
.arbre .asteps{list-style:none;margin:0;padding:0;counter-reset:step}
.arbre .asteps li{position:relative;padding:0 0 10px 26px;font-size:12.5px;border-left:1.5px solid var(--line);margin-left:9px}
.arbre .asteps li:last-child{border-left-color:transparent;padding-bottom:0}
.arbre .asteps li::before{counter-increment:step;content:counter(step);position:absolute;left:-10px;top:0;width:18px;height:18px;border-radius:50%;background:var(--paper);border:1px solid var(--rail);font-family:var(--mono);font-size:10px;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.arbre .asteps .role{display:block;font-weight:500;color:var(--ink);line-height:1.3}
.arbre .asteps code{font-family:var(--mono);font-size:11.5px;color:var(--teal);display:block;margin-top:1px;word-break:break-word}
.arbre .asteps small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
.arbre .cards:empty::after, .arbre .cards.none::after{content:'Rien ne tient dans cette mémoire : passez au cloud ou montez d\'un palier.';color:var(--muted);font-size:13px}
.arbre .leaf{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:8px;padding:10px 12px 11px;width:262px;font-size:12.5px;position:relative}
.arbre .leaf.hidden{display:none}
.arbre .leaf .head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.arbre .leaf.pick .head{padding-right:14px}
.arbre .leaf code{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--ink);word-break:break-all}
.arbre .lic{font-size:10.5px;padding:2px 7px;border-radius:999px;white-space:nowrap;font-weight:500}
.arbre .lic.free{background:var(--teal-soft);color:var(--teal)}
.arbre .lic.cond{background:var(--amber-soft);color:var(--amber)}
.arbre .lic.nc{background:var(--red-soft);color:var(--red)}
.arbre .meta{color:var(--muted);margin-top:3px}
.arbre .meta span+span::before{content:' · '}
.arbre .mem{font-family:var(--mono);font-size:11.5px;color:var(--ink)}
.arbre .arch{display:flex;align-items:center;gap:8px;margin-top:7px}
.arbre .abar{position:relative;width:54px;height:7px;border:1px solid var(--teal);border-radius:4px;flex:none;background:var(--card)}
.arbre .abar::after{content:'';position:absolute;left:0;top:0;bottom:0;width:var(--active,100%);background:var(--teal);border-radius:3px}
.arbre .var, .arbre .rank, .arbre .open{margin-top:5px;color:var(--muted)}
.arbre .var b{color:var(--ink);font-weight:500;font-family:var(--mono);font-size:11.5px}
.arbre .rank b{color:var(--ink);font-weight:500}
.arbre .open{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:center}
.arbre .dot{display:inline-block;width:8px;height:8px;border-radius:50%;border:1px solid var(--teal);margin-right:4px;vertical-align:middle;background:var(--card)}
.arbre .dot.on{background:var(--teal)}
.arbre .note{margin-top:5px;color:var(--ink)}
.arbre .cens{margin-top:5px;color:var(--muted)}
.arbre .cens small{display:block;font-size:11.5px}
.arbre .cb{font-size:10.5px;padding:1px 7px;border-radius:999px;font-weight:500;white-space:nowrap}
.arbre .cb.na{background:#EEF0EE;color:var(--muted)}
.arbre .cb.light{background:var(--teal-soft);color:var(--teal)}
.arbre .cb.std{background:#E6F1FB;color:#0C447C}
.arbre .cb.strict{background:var(--amber-soft);color:var(--amber)}
.arbre .cb.cn{background:var(--red-soft);color:var(--red)}
.arbre .idx{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:6px;color:var(--muted)}
.arbre .idx em{font-style:normal;color:var(--ink)}
.arbre .idx i{display:inline-block;width:7px;height:7px;border-radius:50%;border:1px solid var(--muted);margin:0 1px;vertical-align:middle;background:var(--card)}
.arbre .idx i.on{background:var(--muted);border-color:var(--muted)}
.arbre .idx i.q{border-color:var(--teal)}
.arbre .idx i.q.on{background:var(--teal)}
.arbre .tag{display:inline-block;font-size:10.5px;color:var(--muted);border:1px dashed var(--rail);border-radius:4px;padding:0 5px;margin-left:4px;vertical-align:middle}
.arbre .star{position:absolute;top:8px;right:10px;font-size:12px;color:var(--amber)}
.arbre .integr{margin-top:48px;padding-top:28px;border-top:1px solid var(--ink)}
.arbre .integr h2{font-size:22px;font-weight:600;margin:0 0 10px;letter-spacing:-.01em}
.arbre .integr > p{max-width:860px;font-size:14.5px}
.arbre .integr svg{display:block;max-width:780px;margin:18px 0 6px;font-family:var(--sans)}
.arbre .integr h3.sub{font-size:15px;font-weight:500;margin:26px 0 10px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}
.arbre .pats{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.arbre .pat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:13px}
.arbre .pat h4{margin:0 0 6px;font-size:13.5px;font-weight:500}
.arbre .pat p{margin:0 0 6px;color:var(--ink)}
.arbre .pat p em{font-style:normal;color:var(--muted)}
.arbre .pat .ex{color:var(--teal);font-size:12.5px}
.arbre .how{max-width:860px;font-size:13.5px;color:var(--ink);margin-top:14px}
.arbre .fam{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:8px;padding:14px 16px;margin-bottom:12px}
.arbre .fam h3{margin:0 0 6px;font-size:15px;font-weight:600}
.arbre .fam h3 small{display:block;font-weight:400;color:var(--muted);font-size:12px;font-family:var(--mono);margin-top:2px}
.arbre .fam > p{margin:0 0 8px;font-size:13.5px;color:var(--ink);max-width:860px}
.arbre .cases{margin:0;padding-left:20px;font-size:13px}
.arbre .cases li{margin-bottom:6px;max-width:860px}
.arbre .cases li b{font-weight:500}
.arbre footer{margin-top:36px;color:var(--muted);font-size:12.5px;max-width:860px}
.arbre footer p{margin:6px 0}
@media (max-width:900px){.arbre .arow{grid-template-columns:1fr}
}
@media (max-width:760px){.arbre main{padding:32px 14px 56px}
.arbre{--indent:16px}
.arbre .tree li{padding-left:12px}
.arbre .leaf{width:100%}
}

