/* KidoFiches · mêmes repères et confort de lecture que le parcours Sons.
   La feuille native lesson-reader.css est chargée d'abord pour conserver l'identité. */
.te-page{--te-ink:#233e78;--te-orange:#ce6632;--te-calm:#eaf3f8;--te-line:#cfe0ea;--te-green:#297961;--te-txt:#334761;color:#233e78;overflow-x:clip}
.te-page *{box-sizing:border-box}
.te-page button{font:inherit;min-height:44px;touch-action:manipulation;cursor:pointer}
.te-page button:focus-visible,.te-page a:focus-visible{outline:3px solid #d8864f;outline-offset:3px}
.te-page [hidden]{display:none!important}
.te-page .te-hero{padding:34px 0 40px;background:linear-gradient(118deg,#f3faff 0%,#fff 54%,#fff7e9 100%);border-bottom:2px solid #dceaf2}
.te-page .te-hero-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(255px,.72fr);align-items:center;gap:32px}
.te-page .te-hero-copy{min-width:0}
.te-page .te-hero h1{font-family:'Baloo 2',sans-serif;font-size:clamp(2rem,3.8vw,3.45rem);font-weight:800;color:var(--te-ink);line-height:1.13;max-width:835px;letter-spacing:-.015em;margin:10px 0 15px}
.te-page .te-hero h1 em{font-style:normal;color:var(--te-orange)}
.te-page .te-hero p{max-width:780px;font-size:1rem;line-height:1.7;color:#4d6379;margin:10px 0}
.te-page .te-breadcrumb{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:.78rem;color:#60748a;margin-bottom:16px}
.te-page .te-breadcrumb a{color:var(--te-ink);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.te-page .te-sep{color:#8da9bc}
.te-page .te-hero-art{position:relative;min-width:0;overflow:hidden;border-radius:25px;padding:21px 20px;background:#fff;border:2px solid #dbe9f1;box-shadow:0 20px 40px rgba(27,61,103,.075)}
.te-page .te-art-kicker{display:block;color:#2d806d;font-size:.73rem;letter-spacing:.045em;text-transform:uppercase;font-weight:900}
.te-page .te-art-main{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:17px 0 10px;padding:12px 16px;background:linear-gradient(110deg,#edf6fc,#fff8ec);border-radius:19px}
.te-page .te-art-main strong{font-family:'Baloo 2',sans-serif;font-size:clamp(2.6rem,5vw,4.1rem);color:var(--te-ink);line-height:1.15}
.te-page .te-art-main>span{color:var(--te-orange);font-size:1.25rem;font-weight:900;white-space:nowrap}
.te-page .te-art-bottom{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.te-page .te-art-bottom>span{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid var(--te-line);border-radius:13px;background:#fafcfd;min-width:0}
.te-page .te-art-bottom b{color:var(--te-ink);font-size:1.05rem;overflow-wrap:anywhere}
.te-page .te-art-bottom small{font-size:.72rem;color:#63788b;line-height:1.4}
.te-page .te-back{display:inline-flex;align-items:center;min-height:44px;color:var(--te-ink);font-weight:800;text-decoration:underline;text-underline-offset:3px;margin-top:7px}
.te-page .te-hero-cta{display:inline-flex;align-items:center;min-height:46px;border-radius:12px;padding:9px 20px;background:var(--te-ink);color:#fff;font-weight:900;text-decoration:none;margin:17px 0 0}
.te-page .te-hero-cta:hover{background:#162d5b}
.te-page .te-main{padding:35px 0 50px}
.te-page .te-section-heading{margin:10px 0 20px}
.te-page .te-section-heading h2{font-size:clamp(1.4rem,2.6vw,1.95rem);font-family:'Baloo 2',sans-serif;color:var(--te-ink);line-height:1.25;margin:4px 0 5px}
.te-page .te-section-heading p{color:#60748a;line-height:1.7;margin:4px 0;max-width:750px}
.te-page .te-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:18px 0 25px}
.te-page .te-index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.te-page .te-teaser{display:flex;flex-direction:column;gap:9px;padding:20px;background:#fff;border:1px solid var(--te-line);border-radius:20px;color:#35495b;min-width:0;text-decoration:none;box-shadow:0 5px 20px rgba(25,58,120,.05);transition:border-color .16s,box-shadow .16s,transform .16s}
.te-page .te-teaser:hover{transform:translateY(-2px);border-color:#6d96b6;box-shadow:0 9px 24px rgba(25,58,120,.11)}
.te-page .te-meta{font-size:.74rem;font-weight:900;color:#347e70}
.te-page .te-teaser-mark{font-family:'Baloo 2',sans-serif;display:grid;place-items:center;width:80px;height:74px;border-radius:18px;border:1px solid #f5debb;background:#fff8e8;color:var(--te-orange);font-size:2.15rem;font-weight:800}
.te-page .te-teaser strong{font-family:'Baloo 2',sans-serif;font-size:1.08rem;color:var(--te-ink);line-height:1.4;overflow-wrap:anywhere}
.te-page .te-teaser-examples{font-size:.83rem;color:#657487;line-height:1.5}
.te-page .te-cta{margin-top:auto;color:#af4f25;font-weight:900;padding-top:8px}
.te-page .te-path{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:32px 0 20px}
.te-page .te-path span{display:flex;align-items:center;gap:8px;min-width:0;padding:12px;background:#f4f9fc;border:1px solid var(--te-line);border-radius:13px;font-size:.88rem;font-weight:800}
.te-page .te-path b{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--te-ink);color:#fff}
.te-page .te-notice{padding:16px 20px;border-left:4px solid #90b7cc;border-radius:0 14px 14px 0;background:#f4f9fc;max-width:900px;color:#51657a;font-size:.86rem;line-height:1.75}
.te-page .te-return{margin-top:18px}
.te-page .te-return a,.te-page .te-sources a,.te-page .te-sidebar a{color:var(--te-ink);text-decoration:underline;text-underline-offset:3px;font-weight:700}
.te-page .te-app{padding-top:25px}
.te-page .te-app .lr-main{min-width:0}
.te-page .te-app .lr-layout{grid-template-columns:minmax(0,1fr) 245px;gap:20px}
.te-page .te-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;font-size:.86rem}
.te-page .te-progress-top>span:last-child{font-weight:800}
.te-page .te-tabs{scroll-margin-top:80px}
.te-page .te-tabs button{font-weight:900;font-size:.86rem;white-space:normal;line-height:1.35;min-height:55px}
.te-page .te-tabs button[aria-selected=true]{background:var(--te-ink);color:white;box-shadow:0 3px 8px rgba(35,62,120,.14)}
.te-page .te-tabs button[aria-selected=false]{background:transparent;color:var(--te-ink)}
.te-page .te-tabs button:hover{background:#d8e8f0}
.te-page .te-tabs button[aria-selected=true]:hover{background:#243d75}
.te-page .te-stage{min-width:0}
.te-page .te-app .lr-card{border-radius:20px;box-shadow:0 5px 20px rgba(25,58,120,.04)}
.te-page .te-discover-head{display:flex;align-items:center;gap:23px;background:linear-gradient(112deg,#f1f9fc,#fff9ec)}
.te-page .te-discover-letter{display:grid;place-items:center;flex-shrink:0;width:124px;height:124px;border:2px solid #eedab7;border-radius:22px;background:white;color:var(--te-orange);font-family:'Baloo 2',sans-serif;font-weight:800;font-size:clamp(2.1rem,4vw,3.3rem)}
.te-page .te-discover-head h2{font-size:1.43rem;margin:6px 0}
.te-page .te-discover-head p{font-size:.9rem}
.te-page .te-soundboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;margin:17px 0}
.te-page .te-sound-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:18px 13px;border:1px solid var(--te-line);border-radius:17px;background:#fff;min-width:0}
.te-page .te-tile-graphie{font-family:'Baloo 2',sans-serif;color:var(--te-ink);font-size:1.9rem;font-weight:800;line-height:1.2}
.te-page .te-tile-arrow{color:#7b90a5}
.te-page .te-sound-tile strong{font-size:1.13rem;color:var(--te-orange)}
.te-page .te-sound-tile small{font-size:.86rem;color:#63788b;overflow-wrap:anywhere}
.te-page .te-recap{background:#f2f8fb}
.te-page .te-recap h2{font-size:1.3rem;margin:7px 0}
.te-page .te-recap p{font-size:.92rem;line-height:1.7}
.te-page .te-forward{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:12px;background:var(--te-ink);color:#fff;font-weight:900;padding:11px 19px;margin:16px 0 0;box-shadow:0 4px 0 #15284d}
.te-page .te-forward:hover{background:#32538e}
.te-page .te-forward:active{transform:translateY(2px);box-shadow:0 2px 0 #15284d}
.te-page .te-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}
.te-page .te-group{margin-bottom:0;padding:19px;min-width:0}
.te-page .te-group-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.te-page .te-group-head h2{font-size:1.09rem;line-height:1.35;margin:8px 0}
.te-page .te-group>p{margin:8px 0 13px;font-size:.85rem;line-height:1.6}
.te-page .te-ipa{display:inline-block;white-space:nowrap;padding:7px 10px;border-radius:999px;border:1px solid #f0d3c3;background:#fff7ed;color:#b8582a;font-weight:900;font-size:.9rem}
.te-page .te-words{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.te-page .te-word{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:12px 10px 10px;border:1px solid #dce8ed;border-radius:12px;background:#f8fbfd}
.te-page .te-word-number{font-size:.65rem;font-weight:800;color:#74879c}
.te-page .te-word-label{color:var(--te-ink);font-size:1.08rem;font-weight:800;line-height:1.35;overflow-wrap:anywhere;min-width:0}
.te-page .te-highlight{color:var(--te-orange);font-weight:900;border-bottom:2px solid #edc29a}
.te-page .te-word-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.te-page .te-word-actions button{flex:1;border-radius:9px;min-height:39px;padding:6px;background:#fff;border:1px solid #bdd4e0;color:var(--te-ink);font-size:.72rem;font-weight:900}
.te-page .te-word-actions .te-audio{background:#eaf6ee;border-color:#9fc9b1;color:#267355}
.te-page .te-audio.is-playing{outline:3px solid #edae75}
.te-page .te-word-phoneme{font-size:.72rem;color:#526b7d;line-height:1.4}
.te-page .te-word-phoneme b{color:var(--te-orange);font-size:.85rem}
.te-page .te-audio-status{color:#627486;font-size:.8rem;min-height:22px;line-height:1.5;margin:8px 0}
.te-page .te-practice{padding:23px}
.te-page .te-practice h2{font-size:1.3rem;margin:6px 0 9px}
.te-page .te-practice p{font-size:.9rem;line-height:1.65}
.te-page .te-quiz-prompt{font-weight:900;color:var(--te-ink)!important;font-size:1.19rem!important;margin:22px 0 14px}
.te-page .te-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:18px 0 10px}
.te-page .te-choice{min-height:65px;min-width:0;padding:10px;background:#f4f9fc;border:1px solid #bfd4e0;border-bottom:4px solid #bfd4e0;border-radius:13px;color:var(--te-ink);font-size:1.12rem;font-weight:900;overflow-wrap:anywhere}
.te-page .te-choice:hover:not(:disabled){border-color:#628fab;background:#edf6fc}
.te-page .te-choice:disabled{cursor:default;opacity:1}
.te-page .te-choice.is-correct{background:#e7f5ec;border-color:#39896d;color:#235d48}
.te-page .te-choice.is-wrong{background:#fff1ed;border-color:#ba694f;color:#933b27}
.te-page .te-feedback{font-size:.9rem;min-height:45px;color:#52667c;line-height:1.6}
.te-page .te-feedback.is-success{color:#237353}
.te-page .te-feedback.is-review{color:#9b4129}
.te-page .te-summary{margin-top:19px;padding:25px;text-align:center;border-radius:16px;background:#eef8f0}
.te-page .te-summary>span{display:block;font-size:3rem;color:#ce8a38}
.te-page .te-summary h3{font-size:1.3rem;color:#1d6655}
.te-page .te-exercise{margin:10px 0;border:1px solid #cfe0ea;border-radius:13px;background:#fff;padding:0 15px}
.te-page .te-exercise summary{min-height:49px;padding:13px 0;cursor:pointer;font-weight:800;color:var(--te-ink)}
.te-page .te-exercise p{padding:0 0 12px;font-size:.87rem;line-height:1.55}
.te-page .te-sources{margin-bottom:19px}
.te-page .te-sources li{margin:8px 0}
.te-page .te-sources p{font-size:.82rem!important}
.te-page .te-related{grid-template-columns:repeat(2,minmax(0,1fr))}
.te-page .te-more h2{font-size:1.35rem;margin:16px 0}
.te-page .te-sidebar-card{padding:18px}
.te-page .te-sidebar-card h2{font-size:1.1rem;margin:5px 0 10px}
.te-page .te-sidebar-card p{font-size:.83rem;line-height:1.55;color:#64768b}
.te-page .te-steps{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.te-page .te-steps button{width:100%;text-align:left;border:1px solid #ccdde8;border-radius:11px;background:#f6fafc;padding:10px;color:var(--te-ink);font-size:.85rem;font-weight:800}
.te-page .te-steps button:hover{background:#eaf3f8}
.te-page .te-sidebar .lr-note{font-size:.82rem}
.te-page .te-sidebar .lr-note h2{margin:0 0 7px}
.te-page .te-sidebar .lr-note p{font-size:.83rem;line-height:1.65}
@media(max-width:1100px){.te-page .te-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.te-page .te-app .lr-layout{grid-template-columns:minmax(0,1fr) 215px;gap:15px}.te-page .te-groups{grid-template-columns:1fr 1fr}.te-page .te-words{grid-template-columns:1fr}.te-page .te-discover-head{gap:16px}}
@media(max-width:780px){.te-page .te-hero-layout{grid-template-columns:1fr}.te-page .te-hero-art{max-width:520px}.te-page .te-app .lr-layout{grid-template-columns:1fr}.te-page .te-words{grid-template-columns:repeat(2,minmax(0,1fr))}.te-page .te-groups{grid-template-columns:1fr 1fr}.te-page .te-sidebar{grid-template-columns:1fr 1fr}.te-page .te-sidebar .lr-note{min-width:0}}
@media(max-width:580px){.te-page .te-hero{padding:25px 0 28px}.te-page .te-hero h1{font-size:2rem}.te-page .te-hero-art{padding:16px}.te-page .te-art-main strong{font-size:2.6rem}.te-page .te-main{padding-top:24px}.te-page .te-index-grid,.te-page .te-groups,.te-page .te-related,.te-page .te-sidebar{grid-template-columns:1fr}.te-page .te-path{grid-template-columns:repeat(2,minmax(0,1fr))}.te-page .te-discover-head{flex-direction:column;align-items:flex-start}.te-page .te-discover-letter{height:83px;width:92px;font-size:2.6rem}.te-page .te-words{grid-template-columns:repeat(2,minmax(0,1fr))}.te-page .te-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.te-page .te-tab button{font-size:.76rem}.te-page .te-teaser{padding:18px}.te-page .te-practice{padding:18px}}
@media(max-width:370px){.te-page .te-words,.te-page .te-choices{grid-template-columns:1fr}.te-page .te-art-bottom{grid-template-columns:1fr}.te-page .te-soundboard{grid-template-columns:repeat(2,minmax(0,1fr))}.te-page .te-tile-graphie{font-size:1.45rem}.te-page .te-hero-lesson-art{display:none}}
@media(prefers-reduced-motion:reduce){.te-page *{scroll-behavior:auto!important;transition:none!important}}
@media print{.te-page .te-tabs,.te-page .te-sidebar,.te-page .te-forward,.te-page .te-word-actions{display:none!important}.te-page [data-te-panel]{display:block!important}.te-page .te-group,.te-page .te-exercise{break-inside:avoid}.te-page .te-hero{background:#fff}.te-page .te-word-phoneme{display:inline!important}}


/* Phase 3 parity: real illustrated word cards (27), matched printable previews and Seyès. */
.te-page .te-teaser-art{display:block;width:100%;height:132px;object-fit:contain;background:#f3f9fc;border:1px solid #d4e4ed;border-radius:15px;padding:4px}
.te-page .te-picture-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:10px 0 28px}
.te-page .te-picture-card{display:flex;flex-direction:column;align-items:center;gap:9px;margin:0;min-width:0;border:1px solid #d2e3ec;border-radius:18px;background:white;padding:12px 10px 15px;box-shadow:0 6px 18px rgba(30,58,138,.055)}
.te-page .te-picture-card img{display:block;width:100%;max-width:270px;aspect-ratio:4/3;height:auto;max-height:190px;object-fit:contain;background:#f7fafc;border-radius:13px}
.te-page .te-picture-card figcaption{display:block;min-height:32px;max-width:100%;text-align:center;color:#233e78;font-size:1.08rem;font-weight:900;overflow-wrap:anywhere;line-height:1.4}
.te-page .te-picture-card .te-audio{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:43px;padding:8px 17px;border:1px solid #a1cbb8;border-radius:11px;background:#e6f5ec;color:#226d53;font-weight:900;font-size:.83rem}
.te-page .te-picture-card .te-audio.is-playing{background:#fff0d8;border-color:#dc923a}
.te-page .te-writing{background:#f8fcff}
.te-page .te-writing>h2{font-family:"Baloo 2",sans-serif;color:#233e78;font-size:1.33rem;margin:6px 0}
.te-page .te-writing>p{color:#53657b;line-height:1.65;font-size:.89rem}
.te-page .te-writing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:17px 0}
.te-page .te-writing-card{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:14px;border:1px solid #cfe1ec;background:#fff;min-width:0}
.te-page .te-writing-model{font-family:"Belle Allure Model","Comic Neue Local",cursive;font-size:clamp(1.25rem,2.3vw,1.55rem);font-weight:400;color:#233e78;line-height:1.45;overflow-wrap:anywhere}
.te-page .te-seyes-lines{display:block;width:100%;height:60px;border-left:2px solid #de8585;background:repeating-linear-gradient(to bottom,transparent 0,transparent 12px,#c9e4f5 12px,#c9e4f5 13px,transparent 13px,transparent 24px,#bed7ed 24px,#bed7ed 25px);border-bottom:1px solid #a7c7df}
.te-page .te-writing-card a{display:inline-flex;align-items:center;min-height:44px;color:#1e3a8a;font-weight:900;font-size:.79rem;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.te-page .te-writing-all{font-size:.87rem;text-decoration:none}
.te-page .te-download h2{font-family:"Baloo 2",sans-serif;color:#233e78;font-size:1.3rem}
.te-page .te-pdf-card img{display:block;width:100%;height:auto;max-height:345px;object-fit:contain;border:1px solid #d2e3ec;border-radius:12px;background:#fff}
.te-page .te-pdf-card>a{display:block;text-align:center;color:#233e78;text-decoration:none;font-weight:900;font-size:.86rem}
.te-page .te-pdf-cta{display:block;margin:12px 0 0;padding:11px 7px;border-radius:11px;background:#233e78;color:white}
.te-page .te-pdf-write{margin-top:9px;padding:9px;border:1px solid #a3c5da;border-radius:10px}
.te-page .te-teaser-mark{font-size:1.3rem;height:auto;min-height:40px;width:max-content;min-width:66px;padding:4px 10px}
@media(max-width:1100px){.te-page .te-picture-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.te-page .te-picture-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:580px){.te-page .te-picture-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.te-page .te-picture-card{padding:9px 7px 11px}.te-page .te-picture-card img{max-height:135px}.te-page .te-picture-card figcaption{font-size:.95rem}.te-page .te-writing-grid{grid-template-columns:1fr}.te-page .te-teaser-art{height:120px}}
@media(max-width:360px){.te-page .te-picture-gallery{grid-template-columns:1fr}.te-page .te-picture-card img{max-height:170px}}
@media print{.te-page .te-picture-card{break-inside:avoid}.te-page .te-writing-card{break-inside:avoid}.te-page .te-pdf-card{display:none}}
