:root{--bg:#f5f3ed;--ink:#222f32;--muted:#627074;--accent:#18665e;--line:#dce1db}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,sans-serif}a{color:var(--accent)}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid var(--line);background:#fff}nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap}nav a{text-decoration:none;font-size:14px}nav form{margin:0}.brand{font-weight:800;font-size:24px;text-decoration:none;color:var(--ink)}.brand span{background:var(--accent);color:white;padding:4px 12px;border-radius:8px;margin-right:8px}.brand small{display:block;font-weight:400;font-size:12px;margin-left:57px;color:var(--muted)}main{max-width:1140px;margin:auto;padding:54px 24px;min-height:75vh}h1{font-size:clamp(32px,4.5vw,58px);line-height:1.15;letter-spacing:-1.6px;margin:16px 0 24px}h2{font-size:23px;line-height:1.4}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:70px;align-items:center;margin:10px 0 64px}.lead{font-size:19px;max-width:570px;color:var(--muted)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;color:var(--accent)}.button{display:inline-block;background:var(--accent);border:0;border-radius:8px;padding:14px 23px;color:#fff;text-decoration:none;font:inherit;font-weight:650;cursor:pointer}.small{padding:9px 14px}.secondary{display:inline-block;margin:15px 20px}.art{background:#e1e9df;aspect-ratio:1;border-radius:35% 35% 12px 12px;text-align:center;display:flex;flex-direction:column;justify-content:center}.art>span{font-size:130px;line-height:1.3;color:var(--accent)}.art p{color:var(--accent)}.tiles,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:28px 0}.tile,article{padding:28px;background:white;border:1px solid var(--line);border-radius:12px}.tile strong{font-size:38px;display:block;line-height:1.4}.tile span,.muted{color:var(--muted);font-size:14px}.auth{max-width:510px;margin:12px auto;background:white;padding:36px;border:1px solid var(--line);border-radius:14px}.auth h1{font-size:38px}label{display:block;margin:16px 0;font-weight:600}input:not([type=checkbox]):not([type=radio]){display:block;width:100%;padding:13px;border:1px solid #b4c1be;border-radius:7px;font:inherit;margin-top:6px}.check{font-size:13px;font-weight:400}.check input{margin-right:8px}.text{background:none;border:0;font:inherit;color:var(--accent);cursor:pointer}.alert,.notice{padding:18px;border-radius:8px;background:#fce9e4}.notice{background:#dceee2}.question{border:1px solid var(--line);border-radius:12px;background:white;margin:28px 0;padding:25px}.question legend{font-size:21px;padding:10px;max-width:100%}.option{display:flex;gap:15px;align-items:center;padding:13px;background:#f5f6f2;border-radius:8px;cursor:pointer;font-size:18px;font-weight:400}.option:has(input:checked){background:#deeee7;outline:2px solid var(--accent)}.letter{font-size:13px;color:var(--muted)}rt{font-size:10px}.correction{margin:22px 0}.correction h2{font-size:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:white}th,td{padding:16px;text-align:left;border-bottom:1px solid var(--line)}.danger{background:#9c3733}footer{border-top:1px solid var(--line);padding:25px 5%;display:flex;gap:25px;flex-wrap:wrap;font-size:13px;color:var(--muted)}footer span{margin-right:auto}:focus-visible{outline:3px solid #db9e46;outline-offset:4px}@media(max-width:850px){header{display:block}nav{margin-top:22px;gap:16px}.hero{grid-template-columns:1fr;gap:25px}.art{display:none}.cards,.tiles{grid-template-columns:1fr}.tile{padding:20px}.tile strong{font-size:32px}.auth{padding:24px}main{padding:28px 16px}}

/* Charte graphique des quiz d’origine */
:root{--bg:#f3f6fb;--ink:#172033;--muted:#64748b;--accent:#4f46e5;--line:#e2e8f0}
body{font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
main{max-width:1050px}header{background:white}.brand span{background:linear-gradient(130deg,#312e81,#6366f1)}
.hero{display:block;background:linear-gradient(130deg,#312e81,#6366f1);color:white;border-radius:22px;padding:28px 30px;box-shadow:0 12px 30px #312e8122;margin:0 0 25px}
.hero .eyebrow{color:#e0e7ff}.hero h1{font-size:clamp(25px,4vw,40px);letter-spacing:normal}.hero .lead{color:#e0e7ff}.hero .button{background:white;color:#3730a3}.hero .secondary{color:white}.art{display:none}
.button{border-radius:11px}.tile,article,.auth{border-radius:18px;box-shadow:0 6px 24px #18233d09}
h1{font-size:clamp(25px,4vw,40px);letter-spacing:normal}h2{font-size:22px}.tile strong{color:var(--accent)}
.notice{background:#ecfdf5}.alert{background:#fff1f2}.danger{background:#fff1f2;color:#9f1239}footer{color:var(--muted)}

.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}.category-card{display:block;padding:22px;background:white;border:2px solid var(--line);border-radius:18px;text-decoration:none}.category-card strong{display:block;font-size:23px}.category-card span,.category-card small{display:block;color:var(--muted);margin-top:8px;font-size:13px}.category-card.active{border-color:var(--accent);background:#eef2ff}.quiz-filters{display:flex;align-items:end;gap:18px;flex-wrap:wrap;background:white;border-radius:18px;padding:22px;margin:25px 0}.quiz-filters label{margin:0;flex:1;min-width:180px}.quiz-filters select{display:block;width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;font:inherit;background:white;color:var(--ink)}.level-links{display:flex;gap:10px;flex-wrap:wrap}.level-links a,.quiz-badge{background:#eef2ff;color:#3730a3;border-radius:8px;padding:7px 12px;text-decoration:none;font-size:13px}.level-links .active{background:var(--accent);color:white}.quiz-badge{display:inline-block;margin:0}@media(max-width:850px){.category-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:450px){.category-grid{grid-template-columns:1fr}}
/* Accueil Shiba : palette crème, corail et bleu encre. Les QCM gardent leur charte. */
:root{--bg:#fffaf2;--ink:#152d4c;--muted:#57718b;--accent:#ba4136;--line:#f0e5d7}
body{background:radial-gradient(ellipse at 95% 0,#ffe8df66,transparent 40%),var(--bg);color:var(--ink)}
header{max-width:1440px;margin:auto;background:#fffaf2ee;border:0;padding:24px 4%;gap:25px}.brand{white-space:nowrap;letter-spacing:-1px}.brand b{color:#df594c}.brand span{background:#ffe1cf;color:#9e4037}.brand small{letter-spacing:1px}nav{gap:18px}nav a{font-weight:600;color:var(--ink)}nav .button{color:white}main{max-width:1240px;padding-top:24px}
h1,h2,h3{font-weight:800}h1{font-size:clamp(32px,4.5vw,58px);letter-spacing:-1.5px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px 0 24px;background:none;color:var(--ink);box-shadow:none;align-items:center;margin-bottom:12px}.hero h1{font-size:clamp(34px,4.4vw,57px);letter-spacing:-1.5px}.hero h1 em{font-style:normal;color:#d84d43}.hero .eyebrow{color:var(--accent);letter-spacing:1.3px}.hero .lead{color:var(--muted);font-size:20px}.hero .button,.button{background:var(--accent);color:white;border-radius:15px;box-shadow:0 5px 12px #ba41361a}.hero .secondary{color:var(--ink);margin:16px 0;display:block}.button:hover{background:#a1372e}.hero-shiba{width:100%;height:auto;border-radius:32px;display:block}.welcome{display:grid;grid-template-columns:.9fr 1.4fr;gap:25px;align-items:center;background:#fcf0e2;border:1px solid var(--line);border-radius:24px;padding:24px;margin:20px 0}.welcome h2{margin:8px 0;font-size:27px}.welcome p{margin:6px 0}.welcome .eyebrow{font-size:10px;letter-spacing:.8px}.welcome .tiles{margin:0;gap:12px}.tile{padding:20px;border-radius:18px;box-shadow:none}.tile strong{font-size:32px;color:var(--ink)}.tile:nth-child(1){background:#f1faf3}.tile:nth-child(2){background:#fff5ed}.tile:nth-child(3){background:#eef7fc}.tile span{font-size:13px}.home-bottom{display:grid;grid-template-columns:1fr 280px;gap:22px;margin:32px 0}.home-bottom h2{margin:0 0 8px}.home-bottom .category-grid{margin:18px 0;gap:12px}.category-card{padding:19px 15px;border-width:1px;border-radius:20px;background:#fff;box-shadow:0 4px 14px #423d2c06;transition:transform .15s}.category-card:hover{transform:translateY(-3px);border-color:#e5a78d}.category-card strong{font-size:20px}.category-card .category-symbol{display:flex;align-items:center;justify-content:center;font-size:27px;font-weight:700;width:55px;height:55px;border-radius:17px;background:#ffe4df;color:#a84239;margin:0 0 16px}.cat-kanji .category-symbol{background:#ffebc9;color:#866035}.cat-vocabulaire .category-symbol{background:#e5f4ff;color:#346287}.cat-conjugaison .category-symbol{background:#dff4ec;color:#286454}.category-card.active{background:#fff1e8;border-color:var(--accent)}.daily{padding:24px;border-radius:24px;background:#fff0dc;border:1px solid var(--line);align-self:start}.daily h2{font-size:23px;margin:18px 0}.daily .button{display:block;text-align:center}.quiz-badge,.level-links a{background:#fff0e8;color:#974236}.level-links .active{background:var(--accent);color:white}.announcement-empty{display:flex;align-items:center;gap:20px;padding:24px 28px;background:#fff;border:1px dashed #dfbea4;border-radius:22px}.announcement-empty>span{font-size:45px;color:#db8074}.announcement-empty h2{font-size:21px;margin:0}.announcement-empty p{color:var(--muted);margin:6px 0}.announcements{padding:22px 28px;border:1px solid var(--line);border-radius:24px;background:white}.announcement-heading{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}.announcement-heading h2{margin:0}.announcement-slide{display:grid;grid-template-columns:160px 1fr auto;gap:24px;align-items:center;padding:15px 0;border:0;box-shadow:none;border-radius:0;animation:announcement-in .35s ease}.announcement-slide img{width:160px;height:120px;object-fit:contain;border-radius:14px;background:#fff5e9}.announcement-slide h3{font-size:23px;margin:6px 0}.announcement-slide p{margin:6px 0}.announcement-icon{display:grid;place-items:center;background:#fff0dd;color:#bb6754;font-size:50px;height:120px;border-radius:18px}.announcement-controls,.announcement-dots{display:flex;gap:10px;align-items:center;justify-content:center}.announcement-controls button{border:1px solid var(--line);background:#fff7ee;color:var(--ink);border-radius:12px;padding:8px 13px;font:inherit;cursor:pointer}.announcement-dots button{font-size:12px;color:#bead9c;padding:8px}.announcement-dots button[aria-pressed=true]{color:#b83c32;background:#ffe5db}.announcement-controls span{font-size:12px;color:var(--muted)}.announcement-slide[hidden],.announcement-controls[hidden]{display:none}.auth{background:#fffdfa}.auth h1{color:var(--ink)}input:focus,select:focus{border-color:var(--accent)}.notice{background:#e9f7ed}.danger{background:#fff0ed;color:#9b352e;box-shadow:none}.danger:hover{background:#fce0d9}.cards article{box-shadow:none}footer{max-width:1440px;margin:auto;background:#fff3e6;border-radius:26px 26px 0 0;border-top:0}:focus-visible{outline:3px solid #226a93;outline-offset:4px}
@keyframes announcement-in{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){header{flex-wrap:wrap}.home-bottom{grid-template-columns:1fr}.daily{display:block}.welcome{grid-template-columns:1fr}.hero h1{font-size:40px}.announcement-slide{grid-template-columns:130px 1fr}.announcement-slide .button{grid-column:2}.announcement-slide img{width:130px}.home-bottom .category-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){header{padding:20px}.brand{font-size:24px}nav{gap:14px}nav a{font-size:13px}main{padding:16px}.hero{grid-template-columns:1fr;gap:8px}.hero h1{font-size:39px}.hero-shiba{max-height:300px;object-fit:cover}.hero .lead{font-size:18px}.hero .secondary{display:inline-block;margin-left:15px}.welcome{padding:20px;gap:15px}.welcome .tiles{grid-template-columns:repeat(3,1fr);gap:7px}.welcome .tile{padding:12px 8px}.welcome .tile strong{font-size:25px}.welcome .tile span{font-size:11px}.home-bottom .category-grid{grid-template-columns:repeat(2,1fr)}.announcements{padding:20px}.announcement-slide{grid-template-columns:90px 1fr;gap:14px}.announcement-slide img{width:90px;height:100px}.announcement-slide h3{font-size:19px}.announcement-slide .button{grid-column:1/-1;text-align:center}.announcement-icon{height:100px;font-size:35px}.announcement-empty{padding:20px}.announcement-heading p{margin:4px 0}.announcement-controls{gap:6px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.category-card:hover{transform:none}}
/* Atelier d’apprentissage */
.subnav{max-width:1192px;margin:0 auto;padding:12px 20px;background:#fff0e2;border:1px solid var(--line);border-radius:16px;display:flex;gap:18px;flex-wrap:wrap}.subnav a{font-size:14px;color:var(--ink);text-decoration:none}.subnav a:hover{text-decoration:underline}.module-symbol{font-size:34px;color:var(--accent)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:36px 0 18px}.section-heading h2{margin:0}.home-section{margin:35px 0}.home-section .cards{margin:15px 0}.daily-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}.daily-word{font-size:48px;margin:25px 0}.kanji-glyph{font-size:90px;line-height:1.2;color:var(--accent)}.japanese{font-size:22px;line-height:2.4;overflow-wrap:anywhere}.reading-paper{max-width:920px;margin:25px auto}.reading-paper .example{padding:16px 22px;background:#fff5e9;border-radius:14px;margin:14px 0}.example p{margin:4px 0}.story-body.hide-furigana rt{visibility:hidden}.learning-exercise{max-width:920px;margin:auto}.learning-feedback{padding:24px;background:#edf8ee;border:1px solid #cae0ce;border-radius:18px;margin:28px 0}.learning-feedback details{background:#fff;padding:13px;border-radius:12px;margin:10px 0}.learning-feedback p{overflow-wrap:anywhere}details summary{font-weight:650;cursor:pointer}progress{display:block;width:100%;height:15px;accent-color:#b5493f;margin:15px 0}select{width:100%;display:block;padding:13px;font:inherit;background:white;border:1px solid var(--line);border-radius:9px;margin-top:6px;color:var(--ink)}.path-steps{list-style:none;padding:0;margin:22px 0}.path-steps li{display:flex;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}.path-steps li>div{flex:1}.step-status{font-size:24px;color:var(--muted)}.step-status.done{color:#287b50}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.badge{text-align:center;box-shadow:none}.badge.locked{background:#f9f4ed}.badge.earned{border:2px solid #dfb268;background:#fff9e8}.badge h2{font-size:21px}.badge-shiba{position:relative;width:85px;height:85px;margin:0 auto 15px}.badge-shiba img{width:85px;height:85px;border-radius:50%;object-fit:cover}.badge-shiba span{position:absolute;right:-12px;bottom:-5px;background:#fff7de;border-radius:50%;font-size:26px;padding:2px 9px}.badge.locked .badge-shiba{filter:grayscale(1)}.word-library{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.word-library a{display:block;text-decoration:none;padding:16px;background:#fff;border:1px solid var(--line);border-radius:14px;font-size:23px}.word-library span{display:block;font-size:13px;color:var(--muted);margin-top:6px}.kanji-library{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin:20px 0}.kanji-library a{text-align:center;font-size:35px;padding:14px 8px;border-radius:14px;border:1px solid var(--line);background:white;text-decoration:none}.kanji-library small{display:block;font-size:11px;color:var(--muted)}.game-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.game-tabs a{background:#fff0df;padding:10px 18px;border-radius:14px;color:var(--ink);text-decoration:none}.order-output{min-height:60px;font-size:22px;padding:15px;background:#edf5fc;border-radius:12px;line-height:1.8}.order-tokens{display:flex;gap:12px;flex-wrap:wrap}.token-button{font:inherit;font-size:20px;background:white;border:2px solid #ead3bc;padding:12px 17px;border-radius:12px;cursor:pointer;color:var(--ink)}.token-button:disabled{opacity:.4}.discovery-cards img{width:100%;height:210px;object-fit:contain;background:#fff6ed;border-radius:14px}.faq details{padding:20px;background:white;border:1px solid var(--line);border-radius:14px;margin:14px 0}.shiba-tip{display:flex;align-items:center;gap:18px;background:#edf6ff;border-radius:18px;padding:18px 22px;margin:26px 0}.shiba-tip img{width:70px;height:70px;object-fit:cover;border-radius:50%}.shiba-tip p{margin:0}.quick-links{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.quick-links a{background:white;padding:10px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none}.home-section .reading-teaser{font-size:19px;line-height:2.4}.learning-unavailable{font-size:14px}.badge-summary{padding:20px;margin:20px 0;border-radius:16px;background:#fff0dc}.question legend{overflow-wrap:anywhere}.option span{overflow-wrap:anywhere}.home-goal{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px;margin:20px 0}
@media(max-width:850px){.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.word-library{grid-template-columns:repeat(3,minmax(0,1fr))}.kanji-library{grid-template-columns:repeat(5,minmax(0,1fr))}.subnav{margin:0 16px;gap:14px}.daily-grid{grid-template-columns:1fr}}
@media(max-width:500px){.badge-grid{grid-template-columns:1fr}.word-library{grid-template-columns:repeat(2,minmax(0,1fr))}.kanji-library{grid-template-columns:repeat(4,minmax(0,1fr))}.japanese{font-size:20px}.path-steps li>span:last-child{font-size:11px}.question{padding:16px}.question legend{font-size:19px}.token-button{font-size:18px;padding:10px}.shiba-tip{padding:16px}.shiba-tip img{width:55px;height:55px}.daily-word{font-size:40px}}

.learning-icon{width:1.35em;height:1.35em;display:inline-block;vertical-align:middle;flex-shrink:0}.module-symbol .learning-icon{width:40px;height:40px}.quick-links a{display:inline-flex;gap:9px;align-items:center}

.badge-art{display:block;width:160px;height:160px;max-width:100%;margin:0 auto 12px}.badge.locked .badge-art{opacity:.82}.badge-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.badge-filters input{width:100%;box-sizing:border-box}.badge-grid .badge[hidden]{display:none}.badge .eyebrow{font-size:11px}.badge progress{height:9px}.badge-summary p{margin-bottom:0;font-size:14px}@media(max-width:600px){.badge-filters{grid-template-columns:1fr}}

/* Bibliothèque des kanji N5–N3 */
.kanji-section{margin:35px 0}.kanji-level-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.kanji-level-card{display:block;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;text-decoration:none;color:var(--ink)}.kanji-level-card.selected{background:#fff0df;border:2px solid var(--accent);padding:21px}.kanji-level-card>span,.kanji-level-card>strong{display:block}.kanji-level-card strong{font-size:26px;margin:8px 0}.kanji-level-card>span:last-of-type{font-size:14px;color:var(--muted)}.kanji-filters{display:grid;grid-template-columns:180px minmax(180px,1fr);gap:16px;align-items:end;padding:22px;background:#fff7ed;border:1px solid var(--line);border-radius:18px}.kanji-filters label{margin:0}.kanji-filters input[type=search]{width:100%;margin-top:6px}.kanji-filters .kanji-basics{display:flex;gap:10px;align-items:center;grid-column:1 / -1}.kanji-basics input{width:18px;height:18px;margin:0;flex-shrink:0}.kanji-filters button{justify-self:start}.kanji-result-count{font-weight:650}.kanji-group-title{margin-top:30px}.kanji-group-title span{font-size:14px;font-weight:400;color:var(--muted);margin-left:12px}.kanji-library a{display:flex;flex-direction:column;align-items:center;min-width:0;gap:5px;transition:background .15s,border-color .15s}.kanji-library a:hover{background:#fff0df;border-color:var(--accent)}.kanji-library small{overflow-wrap:anywhere;line-height:1.5;max-width:100%;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.kanji-library a.validated{background:#f0f7ed;border-color:#b9d4ac}.kanji-valid{font-size:11px;color:#287b50}.kanji-sources{padding:18px;background:#fff5e9;border-radius:14px;margin-top:25px}.kanji-sources p{font-size:14px;line-height:1.7}.kanji-glyph{font-family:'Noto Sans JP',sans-serif}
@media(max-width:600px){.kanji-level-cards{gap:8px}.kanji-level-card{padding:13px 8px}.kanji-level-card.selected{padding:12px 7px}.kanji-level-card strong{font-size:21px}.kanji-level-card .eyebrow{font-size:11px;letter-spacing:.5px}.kanji-level-card>span:last-of-type{font-size:12px}.kanji-filters{grid-template-columns:1fr;padding:16px}.kanji-library{grid-template-columns:repeat(4,minmax(0,1fr))}.kanji-library a{padding:12px 5px}.kanji-library small{font-size:10px}.kanji-glyph{font-size:78px}}

/* Bibliothèque des mots N5–N3 */
.word-section{margin:35px 0}.word-catalog a{min-width:0;overflow-wrap:anywhere;transition:background .15s,border-color .15s}.word-catalog a:hover{background:#fff0df;border-color:var(--accent)}.word-catalog ruby{display:block;line-height:2.2;min-height:60px}.word-catalog rt{font-size:12px}.word-catalog .word-level{display:block;font-size:11px;color:var(--accent);margin-bottom:14px}.word-catalog .word-meaning{line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.word-catalog a.validated{background:#f0f7ed;border-color:#b9d4ac}.word-catalog .kanji-valid{display:block;margin-top:10px}.word-pagination{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin:28px 0}.word-result-count{font-weight:650}.word-source{font-size:12px}
@media(max-width:500px){.word-catalog a{padding:13px}.word-catalog ruby{font-size:21px;line-height:2.3}.word-pagination{gap:12px}.word-pagination span{width:100%;text-align:center;order:-1}.daily-word{font-size:36px;overflow-wrap:anywhere}}

/* Trois petits rendez-vous personnels sous le bandeau de bienvenue. */
.home-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0 14px;align-items:stretch}.home-highlight,.home-discovery>.announcements,.home-discovery>.announcement-empty{height:100%;min-width:0;box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:22px;padding:23px}.home-highlight{display:flex;flex-direction:column;align-items:flex-start}.home-highlight h2,.home-discovery h2{font-size:21px;line-height:1.3;margin:0 0 16px}.home-highlight .eyebrow{font-size:10px;letter-spacing:1.1px;margin:0 0 9px}.home-highlight h3{font-size:19px;line-height:1.4;margin:0 0 10px}.home-highlight p{font-size:14px;line-height:1.6;margin:0 0 12px}.home-highlight>.button,.home-highlight>.secondary{margin-top:auto}.home-highlight .button{font-size:14px;padding:12px 17px}.home-last-quiz{background:#fffaf3}.home-last-badge{background:#f6fbf7}.home-highlight .home-score{display:flex;gap:14px;align-items:baseline;margin:2px 0 6px}.home-score strong{font-size:35px;line-height:1.2;color:var(--ink)}.home-score small{font-size:19px;color:var(--muted)}.home-score span{color:var(--accent);font-weight:700}.home-next-title{padding-top:6px;font-weight:600}.home-highlight .home-all-done{padding:10px;border-radius:12px}.home-badge-art{width:106px;height:106px;object-fit:contain;align-self:center;margin:0 0 8px}.home-badge-placeholder{align-self:center;display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:#edf4e7;color:#a16641;font-size:50px;margin:0 0 14px}.home-discovery{min-width:0}.home-discovery>.announcements{display:flex;flex-direction:column;margin:0}.home-discovery .announcement-heading{display:block}.home-discovery .announcement-heading h2{margin-bottom:8px}.home-discovery .announcement-heading>p{font-size:13px;margin:0 0 8px}.home-discovery .announcement-slides{flex:1}.home-discovery .announcement-slide{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:8px 0 12px;align-items:start}.home-discovery .announcement-slide[hidden]{display:none}.home-discovery .announcement-slide img,.home-discovery .announcement-icon{width:72px;height:72px;object-fit:contain;border-radius:12px}.home-discovery .announcement-icon{font-size:32px}.home-discovery .announcement-slide h3{font-size:17px;line-height:1.35;margin:4px 0 7px;overflow-wrap:anywhere}.home-discovery .announcement-slide p{font-size:13px;line-height:1.5;margin:0 0 7px;overflow-wrap:anywhere}.home-discovery .announcement-slide .eyebrow{font-size:10px}.home-discovery .announcement-slide .button{grid-column:1/-1;justify-self:start;font-size:13px;padding:10px 14px;margin-top:3px}.home-discovery .announcement-controls{gap:5px;flex-wrap:wrap;margin-top:auto}.home-discovery .announcement-controls button{font-size:12px;padding:7px 9px}.home-discovery .announcement-dots{gap:4px}.home-discovery .announcement-dots button{padding:6px}.home-discovery .announcement-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}.home-discovery .announcement-empty h2{font-size:20px}.home-discovery .announcement-empty p{font-size:14px}.home-update{display:flex;align-items:center;gap:15px;border:1px solid #e7d7c4;background:#fff1df;border-radius:16px;padding:14px 20px;margin:14px 0 26px}.home-update-symbol{font-size:27px;color:var(--accent)}.home-update h2{font-size:15px;margin:0 0 3px}.home-update p{font-size:13px;margin:0 0 3px;color:var(--muted)}.home-update a{font-size:14px;font-weight:650;overflow-wrap:anywhere}
@media(max-width:1050px){.home-highlights{gap:12px}.home-highlight,.home-discovery>.announcements,.home-discovery>.announcement-empty{padding:18px}.home-highlight h2,.home-discovery h2{font-size:19px}}
@media(max-width:800px){.home-highlights{grid-template-columns:1fr}.home-highlight,.home-discovery>.announcements,.home-discovery>.announcement-empty{height:auto;padding:20px}.home-highlight>.button,.home-highlight>.secondary{margin-top:8px}.home-badge-art,.home-badge-placeholder{align-self:flex-start}.home-discovery .announcement-slide{grid-template-columns:82px minmax(0,1fr)}.home-discovery .announcement-slide img{width:82px;height:82px}.home-discovery .announcement-controls{justify-content:flex-start;margin-top:4px}.home-update{padding:14px 16px;align-items:flex-start}.home-update-symbol{font-size:23px}}

.home-bottom.home-bottom-wide{grid-template-columns:minmax(0,1fr)}

/* Bonjour occupe deux tiers de la ligne, Mise à jour le tiers restant. */
.home-welcome-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;align-items:stretch;margin:20px 0}.home-welcome-row .welcome{margin:0;min-width:0;padding:20px;gap:16px}.home-welcome-row .welcome .tiles{gap:8px;min-width:0}.home-welcome-row .welcome .tile{padding:16px 12px;min-width:0}.home-welcome-row .welcome .tile strong{font-size:27px}.home-welcome-row .welcome .tile span{font-size:12px}.home-welcome-row .home-update{margin:0;min-width:0;padding:20px;align-items:center;gap:12px}.home-welcome-row .home-update h2{font-size:20px;margin-bottom:10px}.home-welcome-row .home-update p{line-height:1.7;margin-bottom:10px}.home-welcome-row .home-update a{display:inline-block;line-height:1.6}.home-welcome-row .home-update-symbol{align-self:flex-start;margin-top:5px}
@media(max-width:800px){.home-welcome-row{grid-template-columns:minmax(0,1fr);gap:12px}.home-welcome-row .welcome{grid-template-columns:1fr}.home-welcome-row .home-update{padding:18px 20px}.home-welcome-row .home-update h2{font-size:18px;margin-bottom:5px}.home-welcome-row .home-update p{margin-bottom:5px}}

/* Un pseudo long, même sans espace, reste à l’intérieur du cadre Bonjour. */
.home-welcome-row .welcome>div{min-width:0}.home-welcome-row .welcome h2{max-width:100%;overflow-wrap:anywhere;word-break:normal;line-height:1.3}

/* Étape 9 : parcours de grammaire, sans impact sur les autres exercices */
.nq-grammar-stepper .nq-grammar-progress{display:grid;gap:8px;margin:0 0 20px;padding:16px;background:#f5f5f0;border-radius:14px}
.nq-grammar-stepper progress{width:100%;height:12px;accent-color:#55876c}
.nq-grammar-stepper [data-grammar-question][hidden],.nq-grammar-stepper [hidden]{display:none!important}
.nq-grammar-stepper .nq-grammar-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.nq-grammar-stepper .nq-grammar-explanation{margin-top:16px;padding:14px 18px;border-left:4px solid #538668;border-radius:10px;background:#edf7ef}
.nq-grammar-stepper .nq-grammar-explanation.nq-grammar-wrong{background:#fff4eb;border-color:#c17a45}
.nq-grammar-stepper .nq-grammar-explanation p{margin:7px 0}
