/* L'accueil, première version « Le parcours lisible » : la page Accueil (#scr-learn), sa marge sous la barre d'onglets et le chemin
   des modules. ludique.css, chargée après, redessine presque tout : ce fichier ne garde que les réglages de base. */
:root { --tabbar-h:74px; }
#scr-learn { background:#f7f7fb; padding-bottom:calc(106px + var(--safe-bottom)); }
#scr-learn>.lgtitle, #scr-learn.compact>.lgtitle { position:relative; top:auto; min-height:94px; padding:24px 24px 16px; background:transparent; border:0; box-shadow:none; backdrop-filter:none; transform:none; align-items:center; }
#scr-learn>.lgtitle .journey-brand { display:block; font-size:30px; line-height:1.15; font-weight:800; color:var(--ink); letter-spacing:-1.1px; text-transform:none; }
#scr-learn>.lgtitle h1 { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#scr-learn #learn-sub, #scr-learn #greeting, #scr-learn #home-streak { display:none; }
#scr-learn .learn-avatar { display:flex; width:44px; height:44px; border:0; background:#eae7fd; color:var(--accent-ink); box-shadow:none; border-radius:50%; font-size:19px; cursor:pointer; }
#scr-learn .learn-side { align-self:center; margin:0; }
#home-hero { padding:0 24px; }
#scr-learn.active>#home-hero>* { animation:none; }
.journey-heading { margin:6px 0 22px; }
.journey-heading h2 { margin:0 0 10px; font-size:26px; font-weight:780; letter-spacing:-.9px; line-height:1.2; }
.journey-session-meta { display:flex; justify-content:space-between; align-items:baseline; gap:12px; color:var(--ink-2); font-size:14px; }
.journey-session-meta>span { font-weight:600; }
.journey-session-meta time { flex-shrink:0; font-size:12px; }
.journey-heading>p { margin:5px 0 0; color:var(--ink-2); font-size:13px; line-height:1.4; }
.journey-timeline { list-style:none; margin:0 0 16px; padding:0; }
.journey-step { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:start; gap:16px; position:relative; padding-bottom:12px; }
.journey-step:not(:last-child)::before { content:''; position:absolute; top:58px; bottom:0; left:18px; width:2px; background:#e4e3ef; border-radius:2px; }
.journey-step-number { position:relative; display:flex; align-items:center; justify-content:center; width:38px; height:38px; margin-top:18px; border-radius:50%; background:#eaeaf3; color:var(--ink); font-size:14px; font-weight:650; font-variant-numeric:tabular-nums; }
.journey-step.current .journey-step-number { background:var(--accent); color:#fff; }
.journey-step.done .journey-step-number { color:var(--success); background:var(--success-soft); }
.journey-step-number svg { width:20px; height:20px; }
.journey-step-body { display:flex; align-items:center; gap:12px; width:100%; min-height:100px; border:0; border-radius:18px; padding:17px 16px; background:transparent; text-align:left; font:inherit; color:var(--ink); cursor:pointer; }
.journey-step.current .journey-step-body { background:#efedfc; }
.journey-step-body:disabled, .journey-step-body[aria-disabled="true"] { opacity:1; color:#8d8d9a; cursor:default; }
.journey-step-body[aria-disabled="true"] .journey-step-status { color:#8d8d9a; }
.journey-step-copy { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.journey-step-copy>b { font-size:18px; letter-spacing:-.4px; line-height:1.25; overflow-wrap:anywhere; }
.journey-step-copy>span { color:var(--ink-2); font-size:14px; line-height:1.4; }
.journey-step-copy .journey-kicker, .journey-spotlight .journey-kicker { color:#656092; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; margin-bottom:5px; }
.journey-step-status { font-size:12px; line-height:1.4; color:#656574; margin-top:3px; }
.journey-step.done .journey-step-status { color:var(--success); }
.journey-arrow { flex:none; display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:#e9e6fa; color:var(--accent); }
.journey-arrow svg { width:18px; height:18px; }
.journey-step-body:disabled .journey-arrow, .journey-step-body[aria-disabled="true"] .journey-arrow { display:none; }
.journey-primary { width:100%; display:flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:14px; padding:16px 18px; min-height:54px; background:var(--accent); color:#fff; font:700 16px/1.2 var(--ui); cursor:pointer; box-shadow:none; }
.journey-primary span { min-width:0; }
.journey-primary svg { width:20px; height:20px; flex:none; }
.journey-session { margin-bottom:22px; }
.journey-planning { display:flex; align-items:center; gap:12px; border-top:1px solid #dedee9; padding:20px 0; }
.journey-planning>span:nth-child(2) { flex:1; min-width:0; }
.journey-planning b { display:block; font-size:14px; line-height:1.35; }
.journey-planning small { display:block; color:var(--ink-2); font-size:12px; line-height:1.4; margin-top:4px; }
.journey-planning button { background:#eeebfc; border:0; border-radius:20px; padding:12px 10px; min-height:44px; color:var(--accent-ink); font:650 12px var(--ui); cursor:pointer; }
.journey-tool-icon { width:38px; height:38px; flex:none; display:flex; align-items:center; justify-content:center; color:var(--accent); background:#eeebfc; border-radius:12px; }
.journey-tool-icon svg { width:24px; height:24px; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.journey-explore { border:solid #dedee9; border-width:1px 0; background:none; padding:18px 0; min-height:72px; display:flex; align-items:center; width:100%; gap:12px; text-align:left; color:var(--accent-ink); font:650 16px var(--ui); cursor:pointer; }
.journey-explore .journey-tool-icon { background:none; }
.journey-explore>span:nth-child(2) { flex:1; }
.journey-explore>svg { width:18px; height:18px; }
.journey-shortcuts { display:grid; grid-template-columns:1fr 1fr; padding:22px 0 12px; }
.journey-shortcuts button { display:flex; align-items:center; gap:9px; border:0; padding:0 8px 0 0; background:none; color:var(--ink); text-align:left; font:inherit; cursor:pointer; min-height:56px; }
.journey-shortcuts button+button { border-left:1px solid #dedee9; padding:0 0 0 14px; }
.journey-shortcuts .journey-tool-icon { width:30px; height:38px; background:none; }
.journey-shortcuts b { display:block; font-size:13px; line-height:1.3; }
.journey-shortcuts small { display:block; font-size:11px; line-height:1.4; color:var(--ink-2); margin-top:5px; }
#modules[hidden] { display:none; }
#modules { margin-top:26px; }
#app>.tabbar { left:0; right:0; bottom:0; min-height:74px; padding:8px 8px calc(8px + var(--safe-bottom)); border-radius:22px 22px 0 0; border-top:1px solid #ecebf3; background:rgba(255,255,255,.97); box-shadow:none; overflow:visible; }
#app>.tabbar .tab { flex:1 1 0; min-width:0; padding:5px 1px; min-height:54px; gap:6px; color:#656574; font-size:11px; }
#app>.tabbar .tab svg { width:23px; height:23px; }
#app>.tabbar .tab .tab-label { min-height:14px; height:auto; line-height:1.35; white-space:nowrap; }
#app>.tabbar .tab.active { color:var(--accent-ink); font-weight:650; }
#app>.tabbar .tab.active::before { background:#efedfc; box-shadow:none; }
#app>.tabbar .dot-n { display:none!important; }
.journey-hub-list { margin:10px 24px; }
.journey-spotlight { margin:0 0 18px; padding:18px 18px 16px; border-radius:22px; background:#efedfc; }
.journey-spotlight h2 { margin:2px 0 8px; font-size:22px; font-weight:780; letter-spacing:-.5px; line-height:1.2; }
.journey-spotlight > p:not(.journey-kicker) { margin:0 0 16px; color:var(--ink-2); font-size:15px; line-height:1.45; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.journey-spotlight .journey-kicker { display:block; margin:0 0 8px; }
.journey-spotlight .journey-primary { min-height:50px; }
.journey-resource { display:flex; gap:16px; align-items:center; width:100%; background:none; color:var(--ink); border:0; border-bottom:1px solid var(--line); padding:22px 0; text-align:left; font:inherit; cursor:pointer; }
.journey-resource>span:nth-child(2) { flex:1; min-width:0; }
.journey-resource b { display:block; font-size:17px; }
.journey-resource small { display:block; margin-top:5px; color:var(--ink-2); font-size:14px; line-height:1.5; }
.journey-resource>svg { width:20px; height:20px; color:var(--ink-2); }
.journey-complete { margin:32px 0; }
.journey-complete h3 { font-size:23px; letter-spacing:-.5px; }
.journey-complete p { color:var(--ink-2); font-size:15px; line-height:1.6; }
.journey-primary:hover { background:#4f4fc6; }
.journey-resource:hover,.journey-step-body:not(:disabled):hover { background:#eeedf8; }
.journey-shortcuts button:hover,.journey-explore:hover { color:var(--accent); }
#app button:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
#app>.tabbar .tab:focus-visible { outline-offset:-2px; }
@media(max-width:360px) {
  #home-hero { padding:0 18px; }
  #scr-learn>.lgtitle { padding-inline:18px; }
  .journey-heading h2 { font-size:24px; }
  .journey-step { gap:10px; grid-template-columns:34px minmax(0,1fr); }
  .journey-step-number { width:34px; height:34px; }
  .journey-step:not(:last-child)::before { left:16px; }
  .journey-step-body { padding:15px 12px; }
  .journey-step-copy>b { font-size:17px; }
  .journey-planning { gap:8px; }
  .journey-planning .journey-tool-icon { width:30px; }
  .journey-planning button { padding-inline:8px; font-size:11px; }
  .journey-shortcuts button+button { padding-left:8px; }
  .journey-shortcuts b { font-size:12px; }
  #app>.tabbar .tab { font-size:10.5px; }
}
@media(min-width:700px) {
  #home-hero { padding:0 36px; }
  #scr-learn>.lgtitle { padding-inline:36px; }
  .journey-step-body { min-height:108px; }
  .journey-step-copy>b { font-size:21px; }
  .journey-shortcuts b { font-size:15px; }
  .journey-shortcuts small { font-size:13px; }
  #app>.tabbar .tab { font-size:12px; }
}
html[data-reading="large"] .journey-step-copy>span,
html[data-reading="large"] .journey-resource small { font-size:17px; }
html[data-reading="large"] .journey-step-copy>b { font-size:21px; }
@media(prefers-reduced-motion:reduce) { .journey-step-body,.journey-primary { transition:none; } }
body:not(.in-lesson) #fab { display:none; }
/* Le contenu essentiel et les raccourcis restent visibles à 390 × 844. */
#scr-learn>.lgtitle, #scr-learn.compact>.lgtitle { min-height:78px; padding-top:20px; padding-bottom:10px; }
.journey-heading { margin:0 0 18px; }
.journey-step { padding-bottom:8px; }
.journey-step-body { min-height:84px; padding:13px 14px; }
.journey-timeline { margin-bottom:12px; }
.journey-session { margin-bottom:18px; }
.journey-planning { padding:16px 0; }
.journey-explore { min-height:65px; padding:14px 0; }
.journey-shortcuts { padding-top:18px; }
.journey-heading { margin-bottom:12px; }
.journey-step { padding-bottom:6px; }
.journey-step-body { padding-block:9px; }
