.embedded-grammar *{box-sizing:border-box}.embedded-grammar [hidden]{display:none!important}.embedded-grammar button,.embedded-grammar input{font:inherit}.embedded-grammar button{cursor:pointer}.embedded-grammar a{color:inherit}.embedded-grammar a:focus-visible,.embedded-grammar button:focus-visible,.embedded-grammar input:focus-visible{outline:3px solid #bc8d55;outline-offset:3px}.embedded-grammar .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.embedded-grammar .eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700;color:var(--accent);margin:0 0 12px}.embedded-grammar .workspace{max-width:1030px;margin:auto}.embedded-grammar .workspace-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}.embedded-grammar .workspace-head h2{margin:0;font:normal clamp(1.85rem,3vw,2.45rem) Georgia,serif;letter-spacing:-.025em}.embedded-grammar .workspace-head>p{font-size:.85rem;color:var(--muted);margin:0 0 3px}.embedded-grammar .controls{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 0 24px;border-bottom:1px solid var(--line)}.embedded-grammar .categories{display:flex;flex-wrap:wrap;gap:8px}.embedded-grammar .categories button{display:inline-flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line);border-radius:100px;color:var(--ink);background:var(--surface);font-size:.86rem;transition:transform .18s,background .18s,border-color .18s}.embedded-grammar .categories button:hover{transform:translateY(-2px);border-color:var(--accent)}.embedded-grammar .categories button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.embedded-grammar .categories small{font-size:.67rem;opacity:.65}.embedded-grammar .search{display:flex;align-items:center;gap:8px;min-width:205px;background:var(--surface);border:1px solid var(--line);border-radius:50px;padding:0 12px}.embedded-grammar .search:focus-within{border-color:var(--accent)}.embedded-grammar .search svg{width:17px;height:17px;fill:none;stroke:var(--muted);stroke-width:1.8;flex:none}.embedded-grammar .search input{min-width:0;width:200px;padding:10px 1px;border:0;background:transparent;color:var(--ink);outline:none}.embedded-grammar .search input::placeholder{color:var(--muted)}.embedded-grammar .list-count{font-size:.79rem;color:var(--muted);margin:21px 0 14px}.embedded-grammar .modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.embedded-grammar .module-card{display:flex;align-items:flex-start;gap:16px;width:100%;min-height:126px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:21px 19px;box-shadow:0 4px 11px #17353d08;transition:transform .17s,border-color .17s,box-shadow .17s;animation:card-in .36s both;animation-delay:var(--delay)}.embedded-grammar .module-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 10px 23px #17353d18}.embedded-grammar .module-no{font:italic 1.22rem Georgia,serif;color:var(--accent);line-height:1.35}.embedded-grammar .module-copy{min-width:0;display:block;flex:1}.embedded-grammar .module-copy strong{display:block;font:normal 1.24rem/1.24 Georgia,serif;letter-spacing:-.015em}.embedded-grammar .module-copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:11px;color:var(--muted);font-size:.78rem;line-height:1.5}.embedded-grammar .module-arrow{color:var(--accent);font-size:1.3rem;line-height:1}.embedded-grammar .no-results{grid-column:1/-1;padding:32px;background:var(--surface);border:1px dashed var(--line);border-radius:10px;text-align:center}.embedded-grammar .privacy{font-size:.79rem;line-height:1.6;color:var(--muted);margin:31px 0 0}.embedded-grammar .lesson{max-width:800px;margin:auto;padding:7px 0 0}.embedded-grammar .back{border:0;background:none;color:var(--muted);padding:5px 0;font-size:.86rem;margin-bottom:34px}.embedded-grammar .back:hover{text-decoration:underline}.embedded-grammar .lesson .eyebrow{margin-bottom:10px}.embedded-grammar .lesson h2{font:normal clamp(2rem,4vw,3.25rem)/1.11 Georgia,serif;margin:0 0 31px;letter-spacing:-.025em;outline:none}.embedded-grammar .lesson-box{position:relative;background:var(--surface);border:1px solid var(--line);border-left:5px solid #779187;border-radius:9px;padding:27px 33px;box-shadow:0 7px 20px #17353d08}.embedded-grammar .lesson-label{display:block;color:var(--accent);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}.embedded-grammar .lesson-box p{line-height:1.8;font-size:1rem;margin:8px 0 0}.embedded-grammar .example{border-top:1px solid var(--line);margin-top:24px;padding-top:19px}.embedded-grammar .example p{font-family:Georgia,serif;font-size:1.1rem;line-height:1.7}.embedded-grammar .quiz-heading{display:flex;align-items:end;justify-content:space-between;margin:48px 0 10px;border-bottom:1px solid var(--line);padding-bottom:21px}.embedded-grammar .quiz-heading h3{font:normal 1.8rem Georgia,serif;margin:0}.embedded-grammar .quiz-heading>span{font-size:.75rem;color:var(--muted)}.embedded-grammar .question{border:0;border-bottom:1px solid var(--line);margin:0;padding:24px 0 26px;min-width:0}.embedded-grammar .question legend{font-weight:700;line-height:1.5;padding:0 0 12px}.embedded-grammar .choice{display:flex;align-items:flex-start;gap:11px;width:100%;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px 16px;margin:8px 0;cursor:pointer;line-height:1.5;transition:border-color .15s,background .15s}.embedded-grammar .choice:hover,.embedded-grammar .choice:has(input:checked){border-color:#91a89d;background:var(--wash)}.embedded-grammar .choice input{flex:none;accent-color:#55776a;margin:5px 0 0}.embedded-grammar .feedback{border-radius:7px;padding:12px 15px;margin:13px 0 0;line-height:1.55;font-size:.86rem}.embedded-grammar .feedback.good{background:#dcebdc;color:#24553a;border-left:4px solid #4f906c}.embedded-grammar .feedback.bad{background:#f6e9d9;color:#79442f;border-left:4px solid #b47a59}.embedded-grammar .correct{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:28px 0 0;padding:13px 20px;border:1px solid var(--ink);border-radius:6px;background:var(--ink);color:var(--surface);font-weight:700}.embedded-grammar .correct:hover{filter:brightness(1.17)}.embedded-grammar .score{font-weight:700;color:var(--ink);line-height:1.6}.embedded-grammar .score:empty{display:none}.embedded-grammar .lesson-end{display:flex;flex-wrap:wrap;gap:12px;margin:33px 0}.embedded-grammar .lesson-end button{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);padding:11px 16px}.embedded-grammar .lesson-end button:hover{border-color:var(--accent)}
@keyframes card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){}
@media(max-width:700px){.embedded-grammar .workspace-head{display:block}.embedded-grammar .workspace-head>p{margin-top:8px}.embedded-grammar .controls{display:block}.embedded-grammar .categories{display:grid;grid-template-columns:1fr 1fr}.embedded-grammar .categories button{justify-content:space-between;font-size:.8rem;padding:10px}.embedded-grammar .categories button:last-child{grid-column:1/-1}.embedded-grammar .search{margin-top:15px}.embedded-grammar .search input{width:100%}.embedded-grammar .modules{grid-template-columns:1fr}.embedded-grammar .module-card{min-height:103px;padding:17px}.embedded-grammar .lesson-box{padding:21px}.embedded-grammar .lesson h2{font-size:2.2rem}.embedded-grammar .quiz-heading{margin-top:33px}}
@media(max-width:370px){}
@media(prefers-reduced-motion:reduce){.embedded-grammar .module-card{animation:none;transition:none}.embedded-grammar .categories button{transition:none}}.embedded-grammar .atelier-recommendation{border:1px solid #a4b9a6;border-left:5px solid #597d6f;border-radius:8px;background:var(--surface);padding:17px 20px;margin:23px 0 0}.embedded-grammar .atelier-recommendation p{margin:0 0 13px;line-height:1.55}.embedded-grammar .atelier-recommendation a{display:inline-block;border-radius:6px;padding:11px 15px;background:var(--ink);color:var(--surface);font-size:.88rem;font-weight:700;text-decoration:none}.embedded-grammar .atelier-recommendation a:hover{filter:brightness(1.16)}.embedded-grammar .full-lesson-open{display:inline-block;margin:16px 0 5px;padding:10px 15px;border:1px solid var(--accent);border-radius:6px;background:var(--surface);color:var(--ink);font-weight:600}.embedded-grammar .full-lesson-open:hover{background:var(--wash)}.embedded-grammar .full-lesson{width:min(820px,calc(100vw - 24px));max-height:88dvh;overflow:auto;overscroll-behavior:contain;padding:28px 38px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);box-shadow:0 25px 80px #102b3655}.embedded-grammar .full-lesson::backdrop{background:#102b3699}.embedded-grammar .full-lesson-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.embedded-grammar .full-lesson-top .eyebrow{margin:0}.embedded-grammar .full-lesson-top button{width:40px;height:40px;border:0;background:none;color:inherit;font-size:1.8rem}.embedded-grammar .full-lesson h2{font:400 clamp(1.7rem,4vw,2.4rem)/1.2 Georgia,serif;margin:12px 0}.embedded-grammar .full-lesson-workshop{color:var(--accent);font-size:.87rem;border-bottom:1px solid var(--line);padding-bottom:18px}.embedded-grammar .full-lesson-content{font-size:1rem;line-height:1.8}.embedded-grammar .full-lesson-content h3{font:400 1.45rem Georgia,serif;margin:28px 0 12px}.embedded-grammar .full-lesson-content p{margin:10px 0 16px;overflow-wrap:anywhere}.embedded-grammar .full-lesson-example{border-left:3px solid var(--accent);padding:7px 17px;margin:15px 0;background:var(--wash)}.embedded-grammar .full-lesson-example strong{font-size:.94rem}
@media(max-width:600px){.embedded-grammar .full-lesson{padding:20px 21px}.embedded-grammar .full-lesson-content{font-size:.94rem;line-height:1.75}}

.embedded-grammar{--accent:var(--ink);--wash:color-mix(in srgb,var(--level-color) 12%,var(--surface));padding:8px 0 25px}
.embedded-grammar .workspace{max-width:none}
.embedded-grammar .workspace-head>p{max-width:40ch}
.embedded-grammar .lesson-box{border-left-color:var(--level-color)}
.embedded-grammar .module-card:hover{border-color:var(--level-color)}
.embedded-grammar .full-lesson{--level-color:var(--class-5e)}
.embedded-grammar .full-lesson-content{color:var(--ink)}

.word-classes-scroll{overflow-x:auto}
.word-classes-table{width:100%;border-collapse:separate;border-spacing:10px;table-layout:fixed;margin:15px 0}
.word-classes-table caption{text-align:left;color:var(--muted);font-size:.85rem;padding:0 10px 8px}
.word-classes-table th{padding:14px;background:color-mix(in srgb,var(--class-5e) 22%,var(--surface));border-radius:8px;font-size:1rem}
.word-classes-table td{vertical-align:top;padding:15px;background:color-mix(in srgb,var(--class-5e) 5%,var(--surface));border:1px solid var(--line);border-radius:8px}
.word-classes-table h4{margin:0 0 10px;text-align:center;font:700 1.04rem Georgia,serif}
.word-classes-table td p{font-size:.9rem;line-height:1.65}
.word-class-example{border-top:1px solid var(--line);padding-top:10px;font-style:italic}
.noun-types{display:grid;grid-template-columns:1fr 1fr;gap:9px;border-top:1px solid var(--line)}
.noun-types p{padding:8px;background:var(--surface);border-radius:6px}
@media(max-width:600px){.word-classes-table{border-spacing:4px}.word-classes-table td{padding:9px}.word-classes-table h4{font-size:.92rem}.word-classes-table td p{font-size:.8rem}.noun-types{grid-template-columns:1fr}}

html[data-theme=dark] .embedded-grammar .feedback.good{background:#23483d;color:#e2f1df}
html[data-theme=dark] .embedded-grammar .feedback.bad{background:#563e34;color:#fae6d2}


/* Diagnostic : chaque question occupe une carte distincte. */
.embedded-grammar #questions{display:grid;gap:20px;margin:20px 0}
.embedded-grammar #questions .question{min-width:0;margin:0;padding:22px;border:1px solid var(--line);border-inline-start:4px solid var(--level-color,var(--accent));border-radius:14px;background:var(--surface)}
.embedded-grammar #questions .question:nth-child(even){background:color-mix(in srgb,var(--level-color,var(--accent)) 8%,var(--surface))}
.embedded-grammar .diagnostic-question-prompt{margin:0 0 16px;font-size:1.12rem;line-height:1.65;font-weight:600;color:var(--ink)}
@media(max-width:620px){.embedded-grammar #questions .question{padding:17px}.embedded-grammar .diagnostic-question-prompt{font-size:1.04rem}}

.embedded-grammar .diagnostic-question-prompt,.embedded-grammar .question label span{white-space:pre-line}
