*{box-sizing:border-box}body{margin:0;background:#f3f6fa;color:#202a35;font:17px/1.55 'Segoe UI',Arial,sans-serif}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid #cbd3dc;border-radius:5px;padding:9px 14px;background:#fff;color:inherit}button:hover{background:#eaf2fa}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #005fb8;outline-offset:3px}a{color:#005a9e}header{display:flex;align-items:center;gap:24px;padding:14px 30px;background:#fff;border-bottom:1px solid #dde3e9}header img{width:88px;height:40px;object-fit:contain}header>a:last-child{margin-left:auto}main{max-width:1500px;margin:auto;padding:24px 32px}.intro h1{font-size:32px;margin:2px 0}.intro p{margin:0 0 10px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.4px;color:#536575}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:22px;align-items:start}.window{background:white;border:1px solid #ccd4dd;border-radius:9px;box-shadow:0 5px 22px #233d5510;overflow:hidden}.titlebar{display:flex;gap:10px;align-items:center;background:#eef2f6;padding:14px 18px}.titlebar>img{width:25px;height:25px}.titlebar h2{font-size:16px;font-weight:500;margin:0}.badge{margin-left:auto;font-size:11px;color:#51616f}.tree-tools{display:flex;align-items:center;gap:8px;padding:12px 18px;border-bottom:1px solid #eee}.tree-tools span{margin-right:auto;font-weight:600}.tree-tools button{font-size:13px;padding:6px 10px}.tree-help{font-size:13px;color:#536575;padding:0 18px}#tree{min-height:310px;padding:0 16px 16px;max-height:470px;overflow:auto}#tree ul{list-style:none;margin:0;padding-left:25px;border-left:1px solid #d7e0e8}#tree>ul{padding-left:0;border:0}.row{display:flex;align-items:center;margin:3px 0;border-radius:5px;min-height:40px}.row.on-route{background:#f0f6fc}.row.selected{background:#cce4fa;box-shadow:inset 3px 0 #0067c0}.toggle{flex:0 0 28px;border:0;background:transparent;padding:4px;font-size:20px}.spacer{width:28px;flex-shrink:0}.node{display:flex;align-items:center;gap:9px;min-width:0;text-align:left;flex:1;border:0;background:transparent;padding:7px 8px;font-size:16px}.node img{width:23px;height:23px;object-fit:contain}.node span{overflow-wrap:anywhere}.node:hover{background:#e4edf6}.path-box{padding:16px 18px;border-top:1px solid #e3e8ed;background:#fbfcfe}.path-box>span{font-size:12px;color:#536575}#path{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;min-height:32px;font-size:14px}#path span.crumb{background:#eaf2fa;padding:3px 7px;border-radius:4px}#path.masked{color:#697888}.status{border-top:1px solid #e2e7ec;font-size:12px;padding:8px 18px;color:#526171}.lesson{padding:24px 28px;background:#fff;border:1px solid #dce3eb;border-radius:9px;min-height:570px}.lesson-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#526171}.lesson-top button{font-size:12px;padding:5px 9px}progress{width:100%;height:6px;accent-color:#0067c0;margin:20px 0 8px}.lesson h2{font-size:27px;line-height:1.25;margin:12px 0 18px}.task{font-size:19px;font-weight:600;background:#f0f6fd;padding:15px;border-left:3px solid #0067c0;border-radius:3px}.primary{background:#0067c0;color:white;border:1px solid #0067c0;text-decoration:none;padding:10px 17px;border-radius:5px;display:inline-block}.primary:hover{background:#00559f}#choices{display:grid;gap:10px;margin-bottom:18px}.choice{display:flex;align-items:start;gap:10px;padding:12px;border:1px solid #ccd6e0;border-radius:6px;cursor:pointer;font-size:15px;overflow-wrap:anywhere}.choice:has(input:checked){background:#e6f2ff;border-color:#0067c0}.choice input{margin-top:6px;accent-color:#0067c0}#feedback{margin-top:16px;border-radius:6px}#feedback:not(:empty){padding:12px 15px}.success{background:#e5f5eb;color:#175c34}.error{background:#fff0ef;color:#962d23}details{margin-top:16px}summary{cursor:pointer;color:#005a9e}details p{font-size:15px}.bottom{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.bottom button{font-size:15px}.finish{margin-top:20px}.footnote{font-size:13px;color:#586b7b;max-width:1000px;margin-top:20px}[hidden]{display:none!important}.skip{position:absolute;left:16px;top:-100px}.skip:focus{top:5px;background:white;z-index:2}@media(max-width:900px){main{padding:20px 16px}.split{gap:14px}.lesson{padding:20px 18px}.badge{display:none}header{padding:12px 16px;font-size:14px;gap:14px}}@media(max-width:680px){.split{grid-template-columns:1fr}header>span{display:none}header img{width:60px}.lesson{min-height:0}#tree{min-height:180px;max-height:310px}.intro h1{font-size:27px}}@media(prefers-reduced-motion:no-preference){.row{transition:background .2s}}

/* Branches reliées : la verticale s’arrête au dernier enfant. */
#tree ul{border:0;padding-left:32px;position:relative}#tree>ul{padding-left:0}#tree li{position:relative}#tree .row{position:relative;margin:0;min-height:44px}#tree li>ul::before{content:none}#tree ul ul>li::before{content:"";position:absolute;left:-18px;top:0;bottom:0;border-left:2px solid #7c8c9d;pointer-events:none}#tree ul ul>li:last-child::before{bottom:auto;height:22px}#tree ul ul>li>.row::before{content:"";position:absolute;left:-18px;top:22px;width:24px;border-top:2px solid #7c8c9d;pointer-events:none}#tree .toggle{position:relative;z-index:1}#tree .extension{font-weight:700;text-decoration:underline;text-underline-offset:3px}
