: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}}
