/* The flashcard face (flash-card-face.js) — final design «Живе око», 09.10.2026. One sheet for the demo and the game.
   Every measure is in 344-units of the card width: the host sets --ef-w (demo: var(--cw), game: 100cqw). */
.ef{--u:calc(var(--ef-w,300px) / 344);font-family:EasyNunito,Nunito,system-ui,sans-serif;color:#191920}
.ef.ef-front{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:calc(var(--u) * 13) calc(var(--u) * 14) 0}
.ef.ef-back{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:0;padding:calc(var(--u) * 20)}
.ef>*{position:relative;z-index:1}

/* Front */
.ef-media{width:100%;aspect-ratio:316/234;flex:none;overflow:hidden;border-radius:calc(var(--u) * 18);background:#e7e6f5}
.ef-media img,.ef-media svg{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ef-fb{transform-box:fill-box;transform-origin:center}
.ef-fbb{transform-box:fill-box;transform-origin:50% 100%}
.ef-q{flex:1;display:grid;place-items:center;margin:0;padding:0 calc(var(--u) * 10);font-size:calc(var(--u) * 26);line-height:1.25;font-weight:700;letter-spacing:-.008em;text-align:center;text-wrap:balance;white-space:pre-line;color:#191920}
.ef-q .ef-w{color:#4120f8}
.ef-hint{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u) * 7);margin:0;padding:0 0 calc(var(--u) * 20);font-size:calc(var(--u) * 12.5);line-height:1;font-weight:800;color:rgba(25,25,32,.62)}
.ef-hint svg{flex:none;width:calc(var(--u) * 15);height:calc(var(--u) * 15)}
/* The hand only nudges when the learner hesitates: 4 s after the card's question is up (top card, front side),
   then once every 4 s. Turning the card or moving to the next one starts the wait again. */
[data-depth="0"]:not(.flipped):not(.is-flipped) .ef-hint svg{animation:ef-tap 4s ease-in-out 4s infinite}
@keyframes ef-tap{0%,24%,100%{transform:translate(0,0) scale(1)}8%{transform:translate(0,-18%) scale(1.05)}14%{transform:translate(0,6%) scale(.9)}20%{transform:translate(0,0) scale(1)}}

/* Back: header row exactly the logo's height; label caps and the mark's «H» share one centre line */
.ef-bhead{width:100%;flex:none;display:flex;align-items:center;justify-content:space-between;height:calc(var(--u) * 18)}   /* bigger header (Vlad 12.10.2026) */
.ef-blabel{display:block;font-size:calc(var(--u) * 14);line-height:1;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#4120f8}
.ef-mark{display:block;flex:none;width:calc(var(--u) * 28);aspect-ratio:240/155;margin-right:var(--u);background:url(data:image/png;base64,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) center/contain no-repeat;transform:translateY(-5%);opacity:.5}   /* inlined: paints with the card, never later */
/* Один розмір на картці (Влад 22.10.2026, варіант A): питання і відповідь 26, база 600 — тоді жирний 800 і курсив видно як виділення;
   дуже довга відповідь (понад 60 знаків) — 22. is-long — лише темп появи літер. */
.ef-ans{flex:1;display:grid;place-items:center;width:100%;margin:0;padding:0 calc(var(--u) * 4);font-size:calc(var(--u) * 26);line-height:1.25;font-weight:700;letter-spacing:-.008em;text-align:center;text-wrap:balance;color:#191920}
.ef-word{display:inline-block;white-space:nowrap}
.ef-ch{display:inline-block}
/* The stress mark is its own layer: the same «и́» glyph clipped to the part above x-height (measured: 68–74 %), so it
   can fall onto a plain «и» and land exactly where the font puts it. Line height is fixed so the clip stays true. */
.ef-st{display:inline-block;position:relative;line-height:1.05;color:#4120f8}
.ef-base{display:inline-block;transform-origin:50% 100%}
.ef-acc{position:absolute;left:-1em;right:-1em;top:0;text-align:center;clip-path:inset(0 0 71% 0);pointer-events:none}   /* «а́» по центру букви, видно лише знак (26.10.2026) */
.ef-st.ef-dot .ef-acc{top:-.2em}   /* «і», «ї»: крапки лишаються, знак — над ними */
.ef-st.ef-dot2 .ef-acc{top:-.27em}   /* «ї»: дві крапки ширші — знак ще трохи вище */
.ef-hit{position:absolute;left:52%;top:29%;width:0;height:0;pointer-events:none}
.ef-hit i{position:absolute;left:0;top:0;border-radius:50%}
.ef-stx{color:inherit}   /* наголос у питанні й поясненні — звичайний знак, без кольору, як у полі редактора (typo-5); колір — лише ==…== чи «удар» у відповіді */
.ef-b{font-weight:900}.ef-i{font-style:italic}   /* жирний / курсив з розмітки **…** і *…* (22.10.2026, typo-4, Влад: «700 з жирним 900»): база 700 — звичайний текст, 900 — лише виділене */
.ef-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* «Пояснення ⌄»: quiet text button at the bottom; the explanation unfolds above it */
.ef-xp{width:100%;flex:none;display:flex;flex-direction:column;align-items:center}
.ef-xp-body{display:grid;grid-template-rows:0fr;width:100%;opacity:0;transition:grid-template-rows .34s cubic-bezier(.22,1,.36,1),opacity .24s ease}
.ef-xp-body>div{overflow:hidden;min-height:0}
.ef-xp.open .ef-xp-body{grid-template-rows:1fr;opacity:1}
.ef-explain{margin:0;padding:0 calc(var(--u) * 6) calc(var(--u) * 6);font-size:calc(var(--u) * 15);line-height:1.5;font-weight:600;color:rgba(25,25,32,.78);text-align:center;text-wrap:pretty;white-space:pre-line}
.ef-xp-btn{display:inline-flex;align-items:center;gap:calc(var(--u) * 6);min-height:44px;margin:0 0 calc(var(--u) * -10);padding:0 calc(var(--u) * 12);border:0;border-radius:999px;background:none;
  font:inherit;font-size:calc(var(--u) * 16);font-weight:700;color:rgba(25,25,32,.56);cursor:pointer;-webkit-tap-highlight-color:transparent}
.ef-xp-btn svg{width:calc(var(--u) * 15);height:calc(var(--u) * 15);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.ef-xp.open .ef-xp-btn svg{transform:rotate(180deg)}
.ef-xp-btn:focus-visible{outline:2px solid #4120f8;outline-offset:2px}

@media(prefers-reduced-motion:reduce){.ef-hint svg{animation:none}.ef-xp-body,.ef-xp-btn svg{transition:none}}
/* ☆ збереження на звороті (на місці логотипа): видимий знак як логотип, зона натискання 44 pt; ★ — фірмовий синій */
.ef-star{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;margin:calc(var(--u) * -10) calc(var(--u) * -10) calc(var(--u) * -10) 0;padding:0;border:0;background:none;color:#9a9aa6;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ef-star svg{width:calc(var(--u) * 34);height:calc(var(--u) * 34);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;transition:fill .2s ease,color .2s ease}
.ef-star.is-on{color:#4120f8}
.ef-star.is-on svg{fill:currentColor}
.ef-star:focus-visible{outline:2px solid #4120f8;outline-offset:-4px;border-radius:12px}
/* Card without a picture (Vlad 15.10.2026): a low band with the topic instead of an empty picture box; the question gets the room. */
/* Без ілюстрації (Влад 16.10.2026): місце під картинку того ж розміру, що й у картках з ілюстрацією; назва теми — угорі зліва, питання на звичному місці. */
.ef-media.ef-band{display:flex;align-items:flex-start;padding:calc(var(--u) * 18);background:linear-gradient(135deg,#efeefc,#e2dffa)}
/* Картка без зображення (Влад 17.10.2026): поле зображення прибрано — лише текст. Рядок угорі лишається (прозорий, висотою з мітку кута):
   ліворуч назва теми, праворуч — мітка статусу («Нова» / «Ще раз» / міцність) на тому самому місці, бо гра ставить її від верху й ширини цього рядка. */
.ef-media.ef-band{aspect-ratio:auto;min-height:calc(var(--u) * 35);padding:calc(var(--u) * 9) 0 0 calc(var(--u) * 6);background:none;border-radius:0}
.ef-topic{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;max-width:64%;font-size:calc(var(--u) * 14);line-height:1.28;font-weight:800;color:rgba(25,25,32,.66);text-wrap:balance}

.ef-band .ef-topic{display:none}   /* назву теми на картці не показувати (Влад 17.10.2026) — порожній рядок угорі лишається, щоб мітка статусу була на своєму місці */

/* Положення тексту (Влад 21.10.2026). Розміри — як з 19.10: питання 25, відповідь 40 одиниць картки.
   З картинкою — питання трохи вище середини вільного місця (оптичний зсув 12 одиниць, Владу подобається).
   Без картинки — питання точно по центру картки; відповідь — точно по центру картки. Рамки однакові згори й знизу,
   тож не залежать ні від рядка мітки вгорі, ні від підказки чи «Пояснення ⌄» внизу. */
.ef-front:not(:has(.ef-band)) .ef-q>span{transform:translateY(calc(var(--u) * -12))}
.ef-front:has(.ef-band) .ef-q{position:absolute;inset:calc(var(--u) * 52) calc(var(--u) * 14);padding:0 calc(var(--u) * 10)}   /* 14 + 10 = 24 від краю — як текст відповіді на звороті (20 + 4); було 8% (Влад 27.10.2026: «сільськогосподарський» не влазив на лицьовому) */
.ef-back .ef-ans{position:absolute;inset:calc(var(--u) * 64) calc(var(--u) * 20);width:auto}
.ef-back:has(.ef-xp.open) .ef-ans{position:relative;inset:auto;width:100%}   /* пояснення розгорнуто на самій картці — відповідь у потоці, щоб не перекривалось */
.ef-hint.is-off{visibility:hidden}   /* підказку сховано налаштуванням — місце лишається, текст не їде */
.ef-front .ef-hint,.ef-back .ef-xp{margin-top:auto}   /* підказка й «Пояснення ⌄» — завжди внизу картки, навіть коли текст стоїть поза потоком */
.ef-mk,.ef-ans .ef-ch.ef-mk{color:#4120f8}   /* колір з бази карток (am/em), 22.10.2026 */

/* Шрифти картки (22.10.2026, typo-4): база 700 (пояснення 600), **жирний** 900 (Nunito Black), *курсив* — Nunito Italic 600/700/900 (Google Fonts, OFL) */
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-700.woff2?v=5fb1d80c10) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-600.woff2?v=44144310ab) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-500.woff2?v=ee937e983a) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-900-cyrillic-ext.woff2?v=733e38d83e) format('woff2');font-weight:900;font-display:swap;unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-900-cyrillic.woff2?v=5c8b7e5241) format('woff2');font-weight:900;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-900-latin.woff2?v=f56df87c3d) format('woff2');font-weight:900;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-600-cyrillic-ext.woff2?v=c3cffbd190) format('woff2');font-weight:600;font-style:italic;font-display:swap;unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-600-cyrillic.woff2?v=f40e85bbf2) format('woff2');font-weight:600;font-style:italic;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-600-latin.woff2?v=463d7ba691) format('woff2');font-weight:600;font-style:italic;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-700-cyrillic-ext.woff2?v=9cf242660e) format('woff2');font-weight:700;font-style:italic;font-display:swap;unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-700-cyrillic.woff2?v=7fab5b4511) format('woff2');font-weight:700;font-style:italic;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-700-latin.woff2?v=bfb6c29006) format('woff2');font-weight:700;font-style:italic;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-900-cyrillic-ext.woff2?v=5e53ba6404) format('woff2');font-weight:900;font-style:italic;font-display:swap;unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-900-cyrillic.woff2?v=3e8b1511a0) format('woff2');font-weight:900;font-style:italic;font-display:swap;unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-italic-900-latin.woff2?v=32c6585096) format('woff2');font-weight:900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* Запечений макет (baked-1, 22.10.2026): шрифт 26 завжди, нічого не зменшується; довге слово без пробілів переноситься, а не вилазить; межі тексту — FIT у flash-content-markup.js */
.ef-q,.ef-ans,.ef-explain{overflow-wrap:anywhere}.ef-q>span{display:block;max-width:100%}
/* Ділянки питання й відповіді ніколи не налазять на картинку, підказку й «Пояснення» (запобіжник; межі FIT це й так гарантують); пояснення на картці — не вище 170u, далі гортається */
.ef-q,.ef-back .ef-ans{overflow:hidden}
.ef-xp-body>div{max-height:calc(var(--u) * 170);overflow:auto;overscroll-behavior:contain}
/* Розмір відповіді (typo-5): ступені за answerSize() у flash-card-face.js — 40 / 32 / 26 */
.ef-ans.ef-a40{font-size:calc(var(--u) * 40);line-height:1.15}.ef-ans.ef-a32{font-size:calc(var(--u) * 32);line-height:1.2}
/* П5 (24.10.2026): тонкий знак у кольорі — товщий і трохи ширший, щоб колір читався (апостроф у арф’ярка) */
.ef-mk.ef-thin{font-weight:900;-webkit-text-stroke:.045em currentColor;paint-order:stroke fill;padding:0 .03em}
/* Форматування з досліджень сприйняття (24.10.2026, ПФ → П22–П29) */
@font-face{font-family:EasyNunito;src:url(/cards/assets/nunito-800.woff2?v=0b6d53ddd9) format('woff2');font-weight:800;font-display:swap}
/* П23: колір — не єдиний сигнал (WCAG 1.4.1): кольорове ще й товще за текст навколо; жирна умова лишається 900 і темною */
/* .ef-ans .ef-mk без додаткової жирності (Влад 24.10.2026: «надмірне виділення синім не потрібно у відповіді»): колір — так, жирніше — ні. Тонкі знаки — .ef-thin вище. */
.ef-explain .ef-mk,.ef-xlead .ef-mk,.dt-lead .ef-mk{font-weight:800}
.ef-explain .ef-mk.ef-b,.ef-xlead .ef-mk.ef-b,.dt-lead .ef-mk.ef-b{font-weight:900}
.ef-q .ef-sub{font-weight:900}
/* П24: кольорова буква в курсивному прикладі — пряма (у курсиві Nunito т, д, и, п, г мають рукописну форму; як у зошитах НМТ) */
.ef-mk.ef-i{font-style:normal}
/* П25: багаторядкове пояснення — ліворуч (питання й відповідь — по центру) */
.ef-explain{text-align:left}
/* Запитання шарами (Влад 24.10.2026, прототип «Запитання шарами»): інструкція й слово — одна група. Сітка 14 з усіх боків і концентричні кути
   (7 = радіус картки 21 − відступ 14) — лише на картці з зображенням; шкала 1,25 (12,5 · 20 · 26 · 32 · 40). */
.ef-front:has(.ef-q2):not(:has(.ef-band)){padding-top:calc(var(--u) * 14)}
.ef-front:has(.ef-q2):not(:has(.ef-band)) .ef-media{border-radius:calc(var(--u) * 7)}
.ef-q.ef-q2{padding:0 calc(var(--u) * 6)}
.ef-q.ef-q2>span{display:flex;flex-direction:column;align-items:center}
.ef-front:not(:has(.ef-band)) .ef-q.ef-q2>span{transform:translateY(calc(var(--u) * -4))}   /* з зображенням — оптичний центр зони під ним */
.ef-qi{display:block;font-size:calc(var(--u) * 20);line-height:1.2;font-weight:700;letter-spacing:0;color:#5f5c78;white-space:nowrap}   /* контраст 5,6 : 1 на папері */
.ef-qo{display:block;margin-top:calc(var(--u) * 3);line-height:1.1;font-weight:700;color:#191920;white-space:nowrap}
.ef-qo.ef-o40{font-size:calc(var(--u) * 40)}.ef-qo.ef-o32{font-size:calc(var(--u) * 32)}.ef-qo.ef-o26{font-size:calc(var(--u) * 26)}
/* Зворот «Скільки букв і звуків» (24.10.2026): числа окремим рядком над транскрипцією */
.ef-ans.ef-ans2{align-content:center;row-gap:calc(var(--u) * 3)}   /* рядок над словом — 3 одиниці, як інструкція на лицьовому (.ef-qo margin-top 3): одна група (Влад 24.10.2026) */
.ef-av{display:block;font-size:calc(var(--u) * 26);line-height:1.2;font-weight:700;color:#191920}
.ef-qo .ef-w{color:#4120f8;font-weight:800}   /* частина в слові на лицьовому — товща (П23); у відповіді (.ef-av) — без додаткової жирності */
.ef-qi .ef-qn{color:#191920;font-weight:800}   /* буква, про яку питаємо, — жирно чорним (Влад 24.10.2026; П23: названий предмет товщий); синій — лише місце рішення */
.ef-qo.ef-qph{white-space:normal;text-wrap:balance;text-align:center}.ef-qph .ef-nw{white-space:nowrap}   /* словосполучення — переноситься між словами, слово не рветься (24.10.2026) */
.ef-qi .ef-sep{color:rgba(25,25,32,.32);font-weight:500}   /* риска між «Разом / Окремо / Дефіс» — світліша за варіанти (24.10.2026) */
.ef-front .ef-q.ef-q2,.ef-front:has(.ef-band) .ef-q.ef-q2{padding-left:calc(var(--u) * 6);padding-right:calc(var(--u) * 6)}   /* поле тексту на лицьовому = поле відповіді (304 одиниці): словосполучення переноситься однаково з обох боків (Влад 24.10.2026) */
.ef-qo .ef-qnote{font-size:calc(var(--u) * 20);font-weight:700;color:#5f5c78;vertical-align:.12em}   /* уточнення значення поруч зі словом: «бал (оцінка)» (24.10.2026) */
/* Частина мови (Влад 24.10.2026): лінія старту 64 від верху, 30 від лівого краю; відступи 12 / 20, між варіантами 8 */
.ef-front .ef-q.ef-qpos,.ef-front:has(.ef-band) .ef-q.ef-qpos{position:absolute;inset:calc(var(--u) * 64) calc(var(--u) * 26) calc(var(--u) * 52) calc(var(--u) * 30);display:block;padding:0;text-align:left;white-space:normal}
.ef-qpos .ef-qi{display:block;white-space:normal}
.ef-qs{display:block;margin-top:calc(var(--u) * 12);font-size:calc(var(--u) * 20);line-height:1.35;font-weight:700;color:#191920;text-wrap:pretty}
.ef-qs .ef-w{color:#4120f8;font-weight:800}
.ef-qopt{list-style:none;margin:calc(var(--u) * 20) 0 0;padding:0;display:grid;gap:calc(var(--u) * 8)}
.ef-qopt li{display:grid;grid-template-columns:calc(var(--u) * 26) auto;align-items:baseline;font-size:calc(var(--u) * 20);line-height:1.25;font-weight:700;color:#191920}
.ef-qopt b,.ef-la b{font-weight:900;color:rgba(25,25,32,.45)}
.ef-av.ef-avw{color:#4120f8}
.ef-la{display:inline-flex;align-items:baseline;justify-content:center;gap:calc(var(--u) * 12);font-size:calc(var(--u) * 32);line-height:1.15;font-weight:700;color:#191920}
.ef-ans .ef-fm{display:block}.ef-ans .ef-or{display:block;font-size:calc(var(--u) * 18);line-height:1.2;font-weight:700;color:#5f5c78}   /* дві форми з «або» між ними (24.10.2026) */
.ef-la.ef-lab{display:block;text-align:center;text-wrap:balance}.ef-lab .ef-nw{white-space:nowrap}.ef-lab b{margin-right:calc(var(--u) * 12)}.ef-la.ef-la26{font-size:calc(var(--u) * 26)}   /* «Б тисячею двомастами»: буква не відривається (24.10.2026) */
/* Розділові знаки (24.10.2026): «Чи потрібна кома» — речення 26; знак/пропуск синім і жирніше, щоб тонкий знак було видно */
.ef-qpos.ef-qpos26 .ef-qs{font-size:calc(var(--u) * 26);line-height:1.3}
.ef-qpos .ef-qs .ef-w{font-weight:900}
.ef-ans.ef-apunct{font-size:calc(var(--u) * 26);line-height:1.3}.ef-apunct .ef-mk{font-weight:900}
/* Пряма мова (24.10.2026): зворот від лінії старту — «Б кома й тире» над реченням, синім лише знаки */
.ef-back .ef-ans.ef-apm{position:absolute;inset:calc(var(--u) * 64) calc(var(--u) * 26) calc(var(--u) * 64) calc(var(--u) * 30);width:auto;display:flex;flex-direction:column;justify-content:center;text-align:left;font-size:calc(var(--u) * 22)}
.ef-apm .ef-lt{display:block;margin-bottom:calc(var(--u) * 8);font-size:calc(var(--u) * 26);line-height:1.2;font-weight:700;color:#191920}.ef-apm .ef-lt b{font-weight:900;color:rgba(25,25,32,.45);margin-right:calc(var(--u) * 10)}
.ef-apm .ef-pt{display:block;font-size:calc(var(--u) * 22);line-height:1.35;font-weight:700;color:#191920}.ef-apm .ef-mk{font-weight:900}
.ef-apm .ef-lt,.ef-apm .ef-pt{align-self:flex-start;text-align:left;text-wrap:pretty}   /* обидва рядки — від однієї лівої лінії */
.ef-back .ef-ans.ef-apm{justify-content:flex-start}   /* верх фіксований — та сама лінія старту 64, що й на лицьовому */

/* Constructor 26.10: explicit, shared text roles; no multiple-choice list. */
.ef-front .ef-q.ef-qpos,.ef-front:has(.ef-band) .ef-q.ef-qpos{display:flex;align-items:center;justify-content:center;text-align:center}
.ef-qpos>div{width:100%}.ef-qopt{display:none!important}
.ef-color-black,.ef-color-black .ef-stx{color:#191920!important}
.ef-color-blue,.ef-color-blue .ef-stx{color:#4120f8!important}
.ef-color-gray,.ef-color-gray .ef-stx{color:#5f5c78!important}
.ef-size-small{font-size:calc(var(--u)*20)!important}
.ef-size-standard{font-size:calc(var(--u)*26)!important}
.ef-size-large{font-size:calc(var(--u)*32)!important}
.ef-size-xl{font-size:calc(var(--u)*40)!important}
.ef-qo.ef-qsent{line-height:1.25;font-weight:700}.ef-qsent .ef-w{font-weight:800}   /* речення по центру (26.10.2026): синім — слово, пропуск чи знак */
/* Поле = картка (Влад 26.10.2026): рядок поля — рядок картки. Висота рядка — від його найбільшого розміру (як було в шаблонах:
   20 → 1,2; 26 → 1,25; 32 → 1,15; 40 → 1,1); де розмір змінюється — відступ 3, як інструкція над словом. */
.ef-ln{display:block}
.ef-ln-small{line-height:calc(var(--u) * 24)}.ef-ln-standard{line-height:calc(var(--u) * 32.5)}.ef-ln-large{line-height:calc(var(--u) * 36.8)}.ef-ln-xl{line-height:calc(var(--u) * 44)}
.ef-ln-gap{margin-top:calc(var(--u) * 3)}
/* Жирність (Влад 26.10.2026): «цей стандарт жирності — це і є жирність; звичайний текст на 200 менше». Звичайний — 500, **жирний** — 700; товщі назви предмета (ef-sub) немає — лише те, що в полі жирним. */
.ef-q,.ef-ans{font-weight:500}.ef-q .ef-b,.ef-ans .ef-b{font-weight:700}.ef-q .ef-sub:not(.ef-b){font-weight:inherit}   /* друге синє слово (ef-sub) жирним, якщо в полі жирне */

/* наголос на «і», «ї» в питанні й поясненні (26.10.2026): знак — верх «а́», по центру над буквою; крапки лишаються */
.ef-sti{position:relative}   /* не inline-block: інакше слово рветься на наголошеній букві */
.ef-sti-m{position:absolute;width:0;height:0;overflow:hidden;color:transparent}   /* поза рядком: інакше браузер малює знак кольором букви */
.ef-sti::after{content:"\430\301";position:absolute;left:-1em;right:-1em;top:-.07em;line-height:1.5;text-indent:0;text-align:center;clip-path:inset(0 0 calc(100% - .52em) 0);pointer-events:none}
.ef-sti1::after{top:-.27em}.ef-sti2::after{top:-.34em}.ef-up::after{top:-.35em}.ef-up2::after{top:-.47em}
.ef-i .ef-sti1::after,.ef-i .ef-sti2::after{transform:translateX(.035em)}.ef-i .ef-up::after,.ef-i .ef-up2::after{transform:translateX(.05em)}   /* курсив: вищий знак — трохи правіше, за нахилом */
/* Пояснення: Shift+Enter — короткий перенос (рядок без відступу), «1) …» — пункт списку, продовження під текстом, не під цифрою (Влад 26.10.2026) */
.dt-ln{display:block}.dt-li{padding-left:1.3em;text-indent:-1.3em}
