@charset "UTF-8";:root{color-scheme:light;--bg: #f8f3ec;--surface: #fffcf8;--surface-2: #f2eadf;--text: #2b2118;--text-2: #6f6253;--border: #ebe1d4;--border-strong: #d8cbb9;--ocre: #94561a;--ocre-soft: #f5e6d3;--indigo: #a5441f;--indigo-soft: #f7e4d9;--on-indigo: #ffffff;--success: #2c7a3f;--success-soft: #e4f2e6;--danger: #b3261e;--danger-soft: #fbe6e3;--skin: #8d5524;--topbar-bg: rgb(248 243 236 / .85);--shadow: none;--mali-green: #14b53a;--mali-yellow: #fcd116;--mali-red: #ce1126;--radius: 16px;--radius-sm: 12px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--font-title: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", "Noto Serif", Georgia, serif;--gutter: clamp(16px, 4vw, 32px);--ease: cubic-bezier(.2, .7, .2, 1);--dur: .18s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #17130f;--surface: #211b16;--surface-2: #2c251e;--text: #f3ebe0;--text-2: #b8aa97;--border: #382f26;--border-strong: #52463a;--ocre: #e2a466;--ocre-soft: #392918;--indigo: #ec8a5e;--indigo-soft: #3b2219;--on-indigo: #1b0e08;--success: #74c98a;--success-soft: #1c2f21;--danger: #f08a80;--danger-soft: #3b1e1b;--skin: #9a6136;--topbar-bg: rgb(23 19 15 / .82);--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--bg: #17130f;--surface: #211b16;--surface-2: #2c251e;--text: #f3ebe0;--text-2: #b8aa97;--border: #382f26;--border-strong: #52463a;--ocre: #e2a466;--ocre-soft: #392918;--indigo: #ec8a5e;--indigo-soft: #3b2219;--on-indigo: #1b0e08;--success: #74c98a;--success-soft: #1c2f21;--danger: #f08a80;--danger-soft: #3b1e1b;--skin: #9a6136;--topbar-bg: rgb(23 19 15 / .82);--shadow: none}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{line-height:1.2;margin:0 0 .5rem;text-wrap:balance}h1{font-family:var(--font-title);font-weight:600;font-size:clamp(1.65rem,1.3rem + 1.4vw,2.25rem);letter-spacing:-.01em}h2{font-size:clamp(1.15rem,1.05rem + .4vw,1.35rem);font-weight:600}h3{font-size:1.05rem;font-weight:600}img{max-width:100%}input,select,textarea{font-size:max(16px,1em)}button,a,input,select,textarea,label{touch-action:manipulation}p{margin:0 0 .75rem}a{color:var(--indigo);text-underline-offset:.18em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--indigo);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bm{font-weight:600}.muted{color:var(--text-2)}.eyebrow{display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ocre)}.bogolan{height:1px;background:var(--border)}.page{max-width:820px;margin:0 auto;padding:clamp(1.25rem,3vw,2.5rem) var(--gutter) calc(6rem + env(safe-area-inset-bottom,0px));padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px));animation:page-in .26s var(--ease) both}@media(min-width:768px){.page{padding-bottom:4rem}}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.stack>*+*{margin-top:1rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(1rem,2.5vw,1.4rem)}a.card{display:block;color:inherit;text-decoration:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}@media(hover:hover){a.card:hover{border-color:var(--border-strong);background:var(--surface);transform:translateY(-1px)}}a.card:active{transform:scale(.99)}.section-title{display:flex;align-items:center;gap:.5rem;margin:2rem 0 .75rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:0 1.15rem;border:1px solid var(--border-strong);border-radius:12px;background:transparent;color:var(--text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),transform .12s var(--ease)}@media(hover:hover){.btn:hover{background:var(--surface-2)}}.btn:active:not(:disabled){transform:scale(.97)}.btn--primary{background:var(--indigo);border-color:var(--indigo);color:var(--on-indigo)}@media(hover:hover){.btn--primary:hover{background:var(--indigo);filter:brightness(1.07)}}.btn--danger{color:var(--danger);border-color:var(--danger)}.btn:disabled{opacity:.6;cursor:default}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.input{width:100%;min-height:48px;padding:0 1rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:max(16px,1em);-webkit-appearance:none;appearance:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}select.input{padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23907f6b' stroke-width='1.6'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.input:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-soft)}input[type=checkbox],input[type=radio]{accent-color:var(--indigo)}.input--big{font-size:1.25rem}.field-error{margin:.5rem 0 0;color:var(--danger);font-size:.9rem}.special-keys{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.key{min-width:44px;min-height:44px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface-2);transition:transform .12s var(--ease),border-color var(--dur) var(--ease);color:var(--text);font:inherit;font-size:1.2rem;font-weight:600;cursor:pointer}.key:active{transform:scale(.94)}@media(hover:hover){.key:hover{border-color:var(--border-strong)}}.key-hint{font-size:.8rem;color:var(--text-2)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.1rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600;background:var(--surface-2);color:var(--text-2)}.badge--ok{background:var(--success-soft);color:var(--success)}.badge--level{background:var(--indigo-soft);color:var(--indigo)}.tricolor{display:block;width:24px;height:3px;border-radius:2px;opacity:.7;background:linear-gradient(90deg,var(--mali-green) 33%,var(--mali-yellow) 33% 66%,var(--mali-red) 66%)}.griot{display:flex;align-items:flex-end;gap:.75rem}.griot-figure{flex:0 0 auto;width:88px;height:auto}.griot--small .griot-figure{width:56px}.g-boubou{fill:var(--indigo)}.g-trim{stroke:var(--ocre);fill:none}.g-skin{fill:var(--skin)}.g-hat{fill:var(--ocre)}.g-eye{fill:#1f1a14}.g-mouth{stroke:#1f1a14}.g-ngoni ellipse{fill:var(--ocre)}.g-ngoni path{stroke:var(--text-2)}.griot-bubble{position:relative;flex:1;padding:.9rem 1.1rem;border-radius:var(--radius) var(--radius) var(--radius) 4px;background:var(--ocre-soft);color:var(--text)}.griot-bubble>:last-child{margin-bottom:0}.quiz-top{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-2)}.timer{font-weight:700;font-variant-numeric:tabular-nums}.timer--urgent{color:var(--danger)}.progress{height:8px;margin:.5rem 0 1rem;border-radius:4px;background:var(--surface-2);overflow:hidden}.progress-fill{height:100%;border-radius:inherit;background:var(--indigo);transition:width .4s var(--ease)}.quiz-instruction{color:var(--text-2);margin-bottom:.25rem}.quiz-prompt{font-size:1.6rem;font-weight:600;margin-bottom:1.25rem}.quiz-hint{margin-top:.75rem;color:var(--text-2)}.choices{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.choice{min-height:56px;padding:.75rem 1rem;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:1.05rem;text-align:left;cursor:pointer;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),transform .12s var(--ease)}@media(hover:hover){.choice:hover:not(:disabled){border-color:var(--indigo)}}.choice:active:not(:disabled){transform:scale(.98)}.choice:disabled{cursor:default}.choice--correct{border-color:var(--success);background:var(--success-soft)}.choice--wrong{border-color:var(--danger);background:var(--danger-soft)}.feedback{animation:page-in .22s var(--ease) both;margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--danger-soft)}.feedback--ok{background:var(--success-soft)}.segmented{display:flex;flex-wrap:wrap;gap:.5rem}.field-label{display:block;font-weight:600;margin-bottom:.4rem}.ok{color:var(--success);font-weight:600}.small{font-size:.9rem}.btn--small{min-height:36px;padding:0 .85rem;font-size:.9rem}.badge--ocre{background:var(--ocre-soft);color:var(--ocre)}textarea.input{min-height:7rem;padding:.75rem 1rem;resize:vertical;line-height:1.5}.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:var(--ease)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}::view-transition-old(root),::view-transition-new(root){animation:none}}
