:root {
 --navy:#172f40; --ink:#233744; --muted:#586974; --muted2:#6a7b83; --paper:#fbfaf7; --bg:#f3f3ef; --white:#fff; --line:#dce3e2; --gold:#a48350; --soft:#eef2f0;
 --reader-size:1.13rem;
 color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--bg);font:16px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b38136;outline-offset:3px}
a{color:#31576e;text-underline-offset:3px}
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:10px;top:10px;background:white;padding:12px;z-index:99}
.sitehead{background:var(--navy);color:#fff}
.head-inner{max-width:1040px;margin:auto;padding:14px clamp(18px,4vw,32px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none}
.brand strong{display:block;font-family:Georgia,serif;font-size:1.3rem;font-weight:500;letter-spacing:.02em;line-height:1.2}
.brand small{display:block;font-size:.68rem;letter-spacing:.09em;color:#d2dfe3;text-transform:uppercase}
.brand-symbol{font-family:Georgia,serif;font-size:1.55rem;color:#d5be93;line-height:1}
.head-link{color:#fff;text-decoration:none;font-size:.83rem;border:1px solid #59717d;border-radius:99px;padding:8px 13px;white-space:nowrap}
.head-link:hover{background:#ffffff17}
.wrap{max-width:860px;margin:auto;padding:0 clamp(16px,4vw,32px)}
.intro{padding:clamp(26px,5vw,48px) 0 19px}
.eyebrow{display:block;text-transform:uppercase;color:var(--gold);letter-spacing:.12em;font-size:.69rem;font-weight:700}
.intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,6vw,3.7rem);font-weight:400;line-height:1.15;letter-spacing:-.025em;color:var(--navy);margin:13px 0 15px}
.intro h1 em{font-weight:400;color:#8e744f}
.intro>p{font-size:1.02rem;max-width:590px;color:var(--muted);margin:0}
.notice{border:1px solid #d7ddce;background:#f4f5ed;border-radius:12px;padding:10px 14px;margin:9px 0 17px;color:#506056;font-size:.79rem;line-height:1.5}
.notice summary{cursor:pointer;min-height:25px}
.notice p{margin:10px 0 0}
.notice[open]{padding-bottom:14px}
.tabs{display:flex;gap:6px;background:#e9eeec;border:1px solid var(--line);padding:5px;border-radius:15px;position:sticky;top:0;z-index:5;box-shadow:0 5px 15px #152f3b0a}
.tab{border:0;border-radius:11px;flex:1;min-height:48px;color:#50616a;font-size:.9rem;background:transparent;font-weight:600;transition:background .12s}
.tab span{font-size:1.18rem;margin-right:5px}
.tab.active{background:var(--white);color:var(--navy);box-shadow:0 1px 7px #142d3a16}
.tab:hover:not(.active){background:#fff9}
.view{padding:29px 0 4px}
[hidden]{display:none!important}
.section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.75rem,4vw,2.3rem);font-weight:500;line-height:1.2;color:var(--navy);margin:6px 0 17px}
h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;color:var(--navy)}
.subtle-btn{background:transparent;border:1px solid var(--line);border-radius:100px;padding:8px 12px;font-size:.8rem;color:var(--ink);white-space:nowrap;min-height:43px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:17px}
.segmented{border:1px solid var(--line);background:#e8ece9;padding:3px;display:flex;border-radius:10px;gap:2px}
.segmented button{font-size:.81rem;border:0;border-radius:8px;padding:9px 13px;background:transparent;min-height:43px;color:var(--muted)}
.segmented button.selected{background:var(--white);color:var(--navy);font-weight:700;box-shadow:0 1px 5px #12283210}
.font-controls{display:flex;gap:7px}
.font-controls button{min-width:47px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--ink)}
.phases{display:flex;gap:7px;overflow-x:auto;padding:1px 0 13px;scrollbar-width:thin;margin:0 -1px}
.phase-btn{flex:0 0 auto;border:1px solid var(--line);border-radius:99px;background:var(--white);padding:10px 14px;min-height:46px;color:var(--muted);font-size:.82rem}
.phase-btn.active{color:white;background:var(--navy);border-color:var(--navy)}
.jump-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:.79rem;color:var(--muted)}
.jump-row select{min-height:44px;max-width:100%;border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:9px;padding:8px 10px;font-size:.82rem;min-width:220px}
.step-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,4vw,31px);box-shadow:0 13px 38px #2039470a}
.step-progress{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;font-weight:650;color:var(--muted)}
.progress-track{background:#e2e7e5;height:4px;border-radius:99px;overflow:hidden;margin:12px 0 27px}
.progress-track>div{width:0%;height:100%;background:#997c4c;transition:width .2s}
.step-card h3{font-size:clamp(1.5rem,5vw,2.12rem);margin:0 0 13px;line-height:1.22}
.step-summary{font-size:var(--reader-size);line-height:1.75;margin:0 0 19px;color:#314551}
.posture{display:flex;align-items:flex-start;gap:12px;background:var(--soft);padding:12px 13px;border-radius:10px;font-size:.89rem;line-height:1.4}
.posture-key{white-space:nowrap;color:#5d716c;font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.detail-block{border-top:1px solid var(--line);margin-top:22px;padding-top:12px}
.detail-block h4{font-size:.88rem;color:var(--navy);margin:16px 0 5px}
.detail-block p{margin:0;color:var(--ink);font-size:var(--reader-size);line-height:1.7}
.detail-block .variable{background:#f6f0e4;color:#66583d;font-size:.8rem;padding:10px 12px;border-radius:8px;margin-top:17px}
.sources{border-top:1px solid var(--line);padding-top:16px;margin-top:24px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.8rem}
.sources-label{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;margin-right:4px}
.source-link{display:inline-flex;align-items:center;background:#edf1ef;border-radius:7px;padding:6px 9px;color:#325062;text-decoration:none;font-size:.77rem}
.source-link:hover{text-decoration:underline}
.step-gestures{margin-top:17px;padding:14px 0 0;border-top:1px solid var(--line)}.step-gestures h4{font-weight:700;font-family:inherit;font-size:.85rem;margin:0 0 9px}.step-gestures>div{display:flex;gap:8px;flex-wrap:wrap}.gesture-link{display:block;background:var(--soft);border:1px solid var(--line);padding:10px 13px;min-height:44px;border-radius:10px;text-decoration:none;font-size:.85rem;color:var(--ink)}
.step-actions{display:flex;gap:12px;margin:14px 0 0}
.step-actions button{flex:1;min-height:53px;border-radius:11px;font-weight:650}
.outline-btn{background:var(--white);border:1px solid #becbd0;color:var(--navy)}
.primary-btn{background:var(--navy);border:1px solid var(--navy);color:white}
.step-actions button:disabled{opacity:.35;cursor:not-allowed}
.bottom-note,.search-note{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding:18px 0 0;margin-top:24px}
.lede{margin:0 0 20px;color:var(--muted);max-width:640px}
.filter-row{display:flex;gap:8px;overflow-x:auto;padding:0 0 16px}
.filter-row button{flex:0 0 auto;border:1px solid var(--line);background:var(--white);color:var(--muted);padding:9px 13px;min-height:43px;border-radius:99px;font-size:.83rem}
.filter-row button.active{background:var(--navy);color:white}
.notion-list{display:grid;grid-template-columns:1fr;gap:10px}
.notion-btn,.result-btn{width:100%;text-align:left;border:1px solid var(--line);background:var(--white);border-radius:12px;padding:16px 17px;color:var(--ink);display:block}
.notion-btn:hover,.result-btn:hover{border-color:#a3b6bb;background:var(--paper)}
.notion-btn strong,.result-btn strong{display:block;color:var(--navy);font-family:Georgia,serif;font-size:1.1rem;font-weight:600;line-height:1.25}
.notion-btn span,.result-btn .subtitle{display:block;margin-top:7px;color:var(--muted);font-size:.8rem;line-height:1.5}
.notion-detail{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:21px;margin:0}
.notion-detail .back-btn{background:none;border:0;color:var(--navy);padding:9px 0 16px;min-height:44px;font-size:.86rem}
.notion-detail h3{font-size:clamp(1.5rem,4vw,2rem);margin:10px 0}
.notion-detail>p{font-size:1.09rem;line-height:1.75}
.related-title{font-size:.79rem;color:var(--muted);font-weight:700;margin:22px 0 7px}
.related-btn{display:block;width:100%;background:#edf1ef;color:var(--navy);border:0;border-radius:8px;text-align:left;padding:11px 14px;margin:6px 0;min-height:45px}
.search-label{font-size:.76rem;font-weight:700;color:var(--muted);display:block;margin-bottom:7px}
.search-box{background:var(--white);border:1px solid #b3c3c7;border-radius:12px;padding:6px 12px;display:flex;align-items:center;gap:11px;box-shadow:0 6px 17px #1c354007}
.search-box>span{font-size:1.6rem;color:#66808a;line-height:1}
.search-box input{width:100%;border:0;outline:none;padding:11px 0;min-height:46px;color:var(--ink);background:transparent;font-size:1rem}
.search-box:focus-within{outline:2px solid #bca077;outline-offset:2px}
.search-box button{border:0;background:transparent;color:var(--muted);font-size:1.4rem;min-width:38px;min-height:43px}
.search-help{color:var(--muted);font-size:.81rem;margin:11px 0 14px}
.sample-list{display:flex;gap:7px;flex-wrap:wrap}
.sample-list button{background:#e6ece9;color:#31515a;border:0;border-radius:100px;font-size:.77rem;padding:8px 12px;min-height:43px}
.result-count{font-size:.81rem;color:var(--muted);margin:21px 0 11px}
.search-results{display:grid;gap:10px}
.result-btn .kind{font-size:.66rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#a18452;display:block;margin:0 0 7px}
.empty{padding:24px;border:1px dashed #afbdbe;background:#f8faf8;border-radius:12px;color:var(--muted);font-size:.91rem}
footer{border-top:1px solid var(--line);margin-top:56px;padding:23px 0 46px;text-align:center;color:var(--muted);font-size:.75rem;line-height:1.6}
footer p{margin:5px 0}footer small{font-size:.7rem}
:root[data-theme="dark"]{color-scheme:dark;--navy:#172d3b;--ink:#e3ecea;--muted:#b0c0c3;--muted2:#a7b4b7;--paper:#192a32;--bg:#101e26;--white:#20313a;--line:#3c545c;--gold:#dcc291;--soft:#273c43}
:root[data-theme="dark"] .intro h1,:root[data-theme="dark"] h2,:root[data-theme="dark"] h3,:root[data-theme="dark"] .notion-btn strong,:root[data-theme="dark"] .result-btn strong,:root[data-theme="dark"] .related-btn,:root[data-theme="dark"] .step-summary{color:#ecf3ef}
:root[data-theme="dark"] .sitehead,:root[data-theme="dark"] .phase-btn.active,:root[data-theme="dark"] .filter-row button.active,:root[data-theme="dark"] .primary-btn{background:#314b59}
:root[data-theme="dark"] .notice{background:#25332f;border-color:#415b49;color:#d1dfd0}
:root[data-theme="dark"] .intro h1 em{color:#d3ba8e}
:root[data-theme="dark"] .sources a,:root[data-theme="dark"] .sample-list button,:root[data-theme="dark"] .related-btn{background:#324852;color:#e0ebec}
:root[data-theme="dark"] a{color:#b9d7e5}
:root[data-theme="dark"] .tab.active{background:#314b59;color:#fff}
:root[data-theme="dark"] .source-link{color:#d2e3ec}
:root[data-theme="dark"] .posture{color:#e3ecea}
:root[data-theme="dark"] .variable{color:#d4c3a4;background:#343429}
@media(min-width:700px){.notion-list{grid-template-columns:1fr 1fr}.intro{padding-top:44px}.step-card{min-height:380px}}
@media(max-width:370px){.tab{font-size:.78rem;padding:5px 3px}.tab span{margin-right:1px}.head-link{font-size:.74rem;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Réponse immédiate, jamais générée sans fiche de référence. */
.quick-answer{margin:16px 0 24px;padding:20px 19px 16px;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px}
.quick-answer h3{margin:7px 0 10px;font-size:1.43rem}
.quick-answer>p:not(.eyebrow){font-size:1.07rem;line-height:1.72;margin:8px 0 16px}
.quick-answer .related-btn{font-size:.92rem;font-weight:650;margin-top:17px}
:root[data-theme="dark"] .quick-answer{background:var(--paper);border-left-color:#d3ba8e}

/* Un lien vers une recherche ou un sujet affiche immédiatement l’outil utile. */
:root[data-step-direct="true"] .intro,
:root[data-step-direct="true"] .notice{display:none}
:root[data-step-direct="true"] .tabs{margin-top:16px}
:root[data-step-direct="true"] .view{padding-top:15px}
:root[data-view="chercher"] .intro,
:root[data-view="chercher"] .notice,
:root[data-view="comprendre"] .intro,
:root[data-view="comprendre"] .notice{display:none}
:root[data-view="chercher"] .tabs,
:root[data-view="comprendre"] .tabs{margin-top:18px}
:root[data-view="chercher"] .view,
:root[data-view="comprendre"] .view{padding-top:18px}

/* Le sens, au premier niveau. Les approches bibliques et doctrinales au second. */
.step-meaning{background:var(--soft);border-left:3px solid var(--gold);border-radius:11px;padding:15px 18px;margin:9px 0 17px}
.step-meaning h4{margin:0 0 8px;font-size:.82rem;letter-spacing:.02em;color:var(--ink);font-weight:800}
.step-meaning p{font-size:var(--reader-size);line-height:1.7;margin:0;color:var(--ink)}
.mystagogy-layers{margin:18px 0 0;padding:2px 0 0}
.mystagogy-layers h4{font-size:1rem;color:var(--ink);margin-top:20px}
.mystagogy-layers p{line-height:1.7}
.mystagogy-layers .layer-ref{color:var(--muted);font-size:.83rem;margin-top:9px}
.mystagogy-layers .layer-method{font-size:.77rem;line-height:1.55;color:var(--muted);margin-top:7px}
.layer-nuance{border:1px solid var(--line);border-radius:11px;padding:2px 14px 15px;margin-top:18px;background:var(--soft)}
.layer-nuance h4{margin-top:13px;font-size:.84rem}
.layer-nuance p{font-size:.93rem;line-height:1.65}
:root[data-theme="dark"] .step-meaning{background:#263c41;border-left-color:#d6b77e}
