/* Learning tools share the site's forest green and warm paper palette. */
[hidden]{display:none!important}
.phrase-finder,.tifinagh-tool,.dictionary-filter{padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft);text-align:left}
.phrase-finder{max-width:900px;margin:auto}
.phrase-finder h2,.tifinagh-tool h2{font-size:2rem;margin:0 0 14px}
.tool-intro{color:var(--ink-soft);max-width:70ch;font-size:.96rem;line-height:1.7;margin:0 0 24px}
.tool-controls{margin:24px 0 20px}
.tool-label{display:block;font-weight:600;font-size:.9rem;margin-bottom:9px}
.language-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.language-tabs button,.tool-button,.copy-phrase,.quiz-options button,.tifinagh-keys button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--cream-2);color:var(--green);border-radius:12px;min-height:44px;padding:10px 16px;font-size:.9rem;line-height:1.4}
.language-tabs button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
.phrase-finder input,.dictionary-filter input,.tifinagh-tool textarea{display:block;width:100%;padding:14px 16px;border:1px solid #81928a;border-radius:12px;font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.tool-status{font-size:.84rem;min-height:1.4em;color:var(--ink-soft);margin:8px 0}
.phrase-group-title{font-size:1.1rem;margin:20px 0 14px}
.phrase-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.phrase-result{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--cream-2);display:flex;flex-direction:column;gap:8px;min-width:0}
.phrase-expression{font-weight:600;font-size:1.16rem;color:var(--green);overflow-wrap:anywhere}
.phrase-meaning{font-size:.9rem;color:var(--ink-soft);flex:1}
.copy-phrase{padding:4px 8px;margin-top:8px;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;align-self:flex-start}
.tool-footnote{font-size:.8rem;color:var(--ink-soft);margin:18px 0 8px;line-height:1.6}
.text-link{color:var(--green);text-decoration:underline;text-underline-offset:4px;font-size:.9rem;font-weight:500}
.tool-action{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:22px}
.tool-action small,.article-install small{display:block;font-size:.76rem;color:var(--ink-soft);line-height:1.6}
.tool-empty{padding:18px;border-left:3px solid var(--gold);background:var(--cream);margin-top:14px}
.practice-quiz{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.guide-practice{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}
.guide-practice h2{font-size:1.5rem;margin:0 0 18px}
.practice-quiz h3{font-size:1.25rem;margin-bottom:18px;line-height:1.5}
.practice-quiz [role=status]{margin:16px 0;font-size:.95rem}
.quiz-options{display:flex;flex-wrap:wrap;gap:10px}
.quiz-options button:disabled{cursor:default;color:var(--ink-soft)}
.quiz-options .answer-correct:disabled{background:var(--green);color:white;border-color:var(--green)}
.dictionary-filter{margin:20px 0 32px;box-shadow:none}
.dictionary-filter p{margin:10px 0 0;font-size:.86rem}
.article-install{margin:36px 0 20px;padding:28px;background:var(--cream);border-left:4px solid var(--green);border-radius:0 16px 16px 0}
.article-install h2{margin:0 0 14px;font-size:1.65rem}
.article-install small{margin-top:12px}
.learning-path{margin:30px 0;padding:28px;background:var(--cream);border-radius:18px}
.learning-path h2{font-size:1.65rem;margin:0 0 18px}
.learning-path ol{padding-left:24px;display:grid;gap:14px}
.learning-path a{text-decoration:underline;text-underline-offset:4px;color:var(--green)}
.tifinagh-tool{margin:30px 0}
.tifinagh-tool textarea{font-family:'Noto Sans Tifinagh',var(--font);font-size:1.7rem;line-height:1.6;resize:vertical}
.tifinagh-keys{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin:20px 0}
.tifinagh-keys button{padding:10px 2px}
.tifinagh-keys span{display:block;font-family:'Noto Sans Tifinagh',sans-serif;font-size:1.6rem}
.tifinagh-keys small{display:block;font-size:.72rem;margin-top:4px}
.keyboard-actions{display:flex;flex-wrap:wrap;gap:8px}
.phrase-finder :is(button,input,a):focus-visible,.dictionary-filter input:focus-visible,.tifinagh-tool :is(button,textarea):focus-visible{outline:3px solid #b8780b;outline-offset:3px}
.download-main{max-width:1120px;margin:auto;padding:54px 24px}
.download-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:64px;align-items:center;margin:20px 0 56px}
.download-layout h1{font-size:3rem;line-height:1.15;margin:16px 0 24px;max-width:720px}
.download-layout .lede{color:var(--ink-soft);font-size:1.1rem;line-height:1.8;margin-bottom:28px;max-width:650px}
.download-icon{border-radius:20px;width:76px;height:76px;margin-bottom:20px}
.download-store-note{font-size:.82rem;color:var(--ink-soft);margin:12px 0 24px}
.download-context{border-top:1px solid var(--line);padding-top:18px;color:var(--ink-soft);font-size:.88rem}
.download-visual{display:flex;align-items:center;flex-direction:column;gap:24px}
.download-preview{max-width:240px;text-align:center}
.download-preview img{border-radius:24px;box-shadow:var(--shadow)}
.download-preview figcaption{font-size:.76rem;color:var(--ink-soft);margin-top:14px}
.download-qr{text-align:center;max-width:230px;margin:auto}
.download-qr img{width:154px;height:154px;margin:0 auto 14px;border:1px solid var(--line);border-radius:12px}
.download-qr figcaption{font-size:.86rem;color:var(--ink-soft)}
.download-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0 46px}
.download-choice{display:block;border:1px solid var(--line);border-radius:18px;padding:24px;background:#fff;transition:border-color .15s}
.download-choice:hover{border-color:var(--green)}
.download-choice h2{font-size:1.4rem;margin-bottom:12px}
.download-choice p{color:var(--ink-soft);font-size:.9rem;margin-bottom:18px}
.download-choice .text-link{display:inline-block}
.download-steps{margin:40px 0}
.download-steps h2{font-size:1.8rem;margin-bottom:22px}
.download-steps ol{padding-left:24px;display:grid;gap:18px;line-height:1.8}
.download-faq{margin:40px 0}
.download-faq h2{font-size:1.8rem;margin-bottom:22px}
.download-faq details{padding:20px 0;border-bottom:1px solid var(--line)}
.download-faq summary{font-weight:600;cursor:pointer}
.download-faq p{margin-top:14px;max-width:75ch;color:var(--ink-soft)}
.download-final{margin:44px 0 20px;padding:28px;background:var(--cream);border-radius:18px}
.download-final h2{font-size:1.6rem;margin-bottom:20px}
.download-main .breadcrumb{margin-bottom:20px;font-size:.85rem;color:var(--ink-soft)}
.download-main .seo-download-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:36px;font-size:.86rem}
@media(max-width:760px){.phrase-results{grid-template-columns:repeat(2,minmax(0,1fr))}.download-layout{grid-template-columns:1fr;gap:28px}.download-layout h1{font-size:2.3rem}.download-choice-grid{grid-template-columns:1fr}.download-visual:has(.download-qr):not(:has(.download-preview)){display:none}.download-qr{display:none}.download-main{padding:32px 20px}.download-preview{max-width:200px}.tifinagh-keys{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:480px){.phrase-finder,.tifinagh-tool,.dictionary-filter{padding:20px 16px}.phrase-finder h2,.tifinagh-tool h2{font-size:1.6rem}.phrase-results{grid-template-columns:1fr}.language-tabs button{flex:1 1 120px}.tool-action .btn{font-size:.88rem}.tifinagh-keys{grid-template-columns:repeat(5,minmax(0,1fr))}.quiz-options{flex-direction:column}.download-layout h1{font-size:2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.download-choice{transition:none}}
