/* ============================================================
   LIMBA ROMÂNĂ, CLASA a II-a — piesele din extra-d.js
   (unitățile 7 și 8, recapitularea finală). Clasele și animațiile
   încep cu rd-.
   ============================================================ */

/* ---------- comune ---------- */
.rd-eticheta { display: inline-block; align-self: flex-start; padding: 2px 12px; border-radius: 999px; background: #8a3fc4; color: #fff; font-size: 0.95rem; font-weight: 800; }
.rd-intoarce { display: inline-block; animation: rd-intoarce 0.5s ease-out both; }
@keyframes rd-intoarce { from { transform: rotateX(90deg); opacity: 0.2; } }
.rd-replici { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; width: 100%; }
.rd-replica { max-width: 100%; white-space: normal; line-height: 1.3; text-align: center; }
.rd-replica[aria-pressed='true'] { border-color: var(--albastru); background: var(--albastru-deschis); }

/* ---------- două texte alăturate ---------- */
.rd-doua { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 14px; width: 100%; }
.rd-doua__col { display: flex; flex-direction: column; gap: 8px; padding: 12px; border: 3px solid #f1dc8f; border-radius: 18px; background: #fffbea; text-align: left; }
.rd-doua__col--1 { border-color: #c9a4ea; background: #f6edfd; }
.rd-doua__titlu { margin: 0; font-size: 1.25rem; color: var(--albastru-inchis); }
.rd-doua__prop { margin: 0; padding: 6px 10px; border-radius: 10px; font-size: clamp(1.05rem, 2.6vw, 1.25rem); font-weight: 700; transition: background-color 0.4s var(--intarziere, 0ms); }
.rd-doua__prop--a { background: var(--verde-pal); animation: rd-bifa 0.5s var(--intarziere, 0ms) both; }
.rd-doua__prop--a::before { content: '✓ '; color: var(--verde); }
.rd-doua__prop--i { background: #fde7f3; animation: rd-bifa 0.5s var(--intarziere, 0ms) both; }
.rd-doua__prop--i::before { content: '✨ '; }
@keyframes rd-bifa { 0% { transform: scale(1); } 50% { transform: scale(1.06); } }
.rd-legenda { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0; }
.rd-marca { padding: 4px 12px; border-radius: 999px; font-weight: 800; }
.rd-marca--a { background: var(--verde-pal); color: var(--verde); }
.rd-marca--i { background: #fde7f3; color: #b0287a; }

/* ---------- litera x ---------- */
.rd-xuri { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.rd-xcuv { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 120px; padding: 10px 16px; border: 3px solid var(--linie); border-radius: 18px; background: var(--albastru-pal); color: var(--cerneala); font: inherit; cursor: pointer; }
.rd-xcuv__scris { font-size: clamp(1.6rem, 5vw, 2.4rem); font-weight: 900; }
.rd-xcuv__x { display: inline-block; color: var(--rosu); }
.rd-xcuv__s { display: inline-block; color: var(--rosu); }
.rd-xcuv--desfacut .rd-xcuv__x { animation: rd-bifa 0.6s both; }
.rd-xcuv__s { font-size: 1.4em; }
.rd-xcuv--desfacut .rd-xcuv__s--1 { animation: rd-desface-st 0.7s cubic-bezier(0.3, 1.5, 0.6, 1) both; }
.rd-xcuv__s--2 { margin-left: 0.15em; color: var(--portocaliu); }
.rd-xcuv--desfacut .rd-xcuv__s--2 { animation: rd-desface-dr 0.7s cubic-bezier(0.3, 1.5, 0.6, 1) both; }
@keyframes rd-desface-st { from { transform: translate(0.4em, -1.6em) scale(0.3); opacity: 0; } }
@keyframes rd-desface-dr { from { transform: translate(-0.4em, -1.6em) scale(0.3); opacity: 0; } }
.rd-xcuv__et { visibility: hidden; font-size: 1rem; font-weight: 800; color: var(--cerneala-slaba); }
.rd-xcuv--desfacut { border-color: var(--verde); background: var(--verde-pal); }
.rd-xcuv--desfacut .rd-xcuv__et { visibility: visible; animation: r2-apare 0.4s 0.4s both; }

.rd-ls { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; width: 100%; }
.rd-ls__bloc { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: min(100%, 280px); padding: 12px; border: 2px solid var(--linie); border-radius: 18px; background: #fff; }
.rd-ls__cuvant { margin: 0; font-size: 2rem; font-weight: 900; color: var(--albastru-inchis); }
.rd-ls__rand { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; min-height: 0; }
.rd-ls__eticheta { margin-right: 6px; font-weight: 800; color: var(--cerneala-slaba); }
.rd-ls__casuta { display: grid; place-items: center; width: 44px; height: 48px; border: 3px solid var(--albastru); border-radius: 10px; background: var(--albastru-pal); font-size: 1.5rem; font-weight: 900; }
.rd-ls__casuta--x { border-color: var(--rosu); color: var(--rosu); }
.rd-ls__casuta--sunet { border-radius: 50%; border-color: var(--verde); background: var(--verde-pal); }
.rd-ls__total { margin: 0; font-weight: 900; color: var(--verde); }
.rd-ls__total:empty { display: none; }

/* ---------- repovestirea ---------- */
.rd-rezumat { display: flex; flex-direction: column; gap: 10px; width: min(100%, 760px); margin: 0; padding: 0; list-style: none; }
.rd-rezumat__alineat { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 12px; padding: 10px 14px; border-radius: 16px; background: #fffbea; border: 2px solid #f1dc8f; text-align: left; }
.rd-rezumat__nr { grid-row: span 2; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--albastru); color: #fff; font-weight: 900; }
.rd-rezumat__lung { margin: 0; font-size: 1.05rem; line-height: 1.45; color: var(--cerneala); transition: opacity 0.5s, font-size 0.5s; }
.rd-rezumat__scurt { display: none; margin: 0; font-size: clamp(1.15rem, 3vw, 1.35rem); font-weight: 900; color: var(--verde); }
.rd-rezumat__alineat--scurt { border-color: var(--verde); background: var(--verde-pal); }
.rd-rezumat__alineat--scurt .rd-rezumat__lung { opacity: 0.45; font-size: 0.9rem; text-decoration: line-through; text-decoration-color: hsl(0 0% 50% / 0.5); }
.rd-rezumat__alineat--scurt .rd-rezumat__scurt { display: block; animation: rd-cade 0.6s cubic-bezier(0.3, 1.5, 0.6, 1) both; }
@keyframes rd-cade { from { opacity: 0; transform: translateY(-24px) scale(1.2); } }

/* ---------- indiciile ---------- */
.rd-indicii__grila { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(30%, 110px), 1fr)); gap: 10px; width: min(100%, 720px); }
.rd-indicii__img { display: flex; flex-direction: column; align-items: center; gap: 4px; margin: 0; padding: 8px 4px; border: 3px solid var(--linie); border-radius: 16px; background: #fff; font-weight: 800; transition: opacity 0.6s, transform 0.6s, filter 0.6s; }
.rd-indicii__img .imagine { width: clamp(56px, 12vw, 90px); height: clamp(56px, 12vw, 90px); }
.rd-indicii__img .imagine--emoji { font-size: clamp(42px, 9vw, 66px); }
.rd-indicii__img--scos { opacity: 0.25; filter: grayscale(1); transform: scale(0.82) rotate(-4deg); }
.rd-indicii__img--gasit { border-color: var(--verde); background: var(--verde-pal); animation: rd-bifa 0.6s 2 both; }
.rd-indicii__lista { display: flex; flex-direction: column; gap: 6px; margin: 0; padding-left: 1.6em; font-size: 1.2rem; font-weight: 800; text-align: left; }
.rd-indicii__lista:empty { display: none; }

/* ---------- compunerea ---------- */
.rd-compunere { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 14px; width: 100%; }
.rd-compunere__intrebari { display: flex; flex-direction: column; gap: 8px; }
.rd-compunere__card { display: flex; flex-direction: column; gap: 4px; padding: 8px 12px; border-radius: 14px; background: var(--albastru-pal); border: 2px solid var(--linie); text-align: left; transition: opacity 0.4s; }
.rd-compunere__q { color: var(--albastru-inchis); }
.rd-compunere__a { font-weight: 700; }
.rd-compunere__card--folosit { opacity: 0.55; }
.rd-caiet {
  position: relative;
  min-height: 160px;
  padding: 14px 16px 14px 44px;
  border: 2px solid #c8d6ea;
  border-radius: 12px;
  background:
    linear-gradient(90deg, transparent 32px, hsl(0 70% 70% / 0.6) 32px 34px, transparent 34px),
    repeating-linear-gradient(#fff 0 34px, #b9d3f2 34px 35px);
  text-align: left;
}
.rd-caiet__titlu { margin: 0 0 4px; font-size: 1.3rem; font-weight: 900; line-height: 35px; text-align: center; color: var(--albastru-inchis); }
.rd-caiet__text { margin: 0; font-size: clamp(1.05rem, 2.6vw, 1.25rem); line-height: 35px; text-indent: 1.4em; }
.rd-caiet__prop--nou { animation: rd-scris 0.8s ease-out both; }
@keyframes rd-scris { from { background: #ffe58a; } }
.rd-caiet--gata { border-color: var(--verde); box-shadow: 0 0 0 4px var(--verde-pal); }

/* ---------- faptele și însușirile ---------- */
.rd-fapte { display: flex; flex-direction: column; gap: 10px; width: min(100%, 760px); }
.rd-fapta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 60px; padding: 10px 14px; border: 3px solid var(--linie); border-radius: 16px; background: var(--albastru-pal); color: var(--cerneala); font: inherit; font-size: clamp(1.05rem, 2.8vw, 1.25rem); font-weight: 700; text-align: left; cursor: pointer; }
.rd-fapta__text { flex: 1 1 220px; }
.rd-fapta__sageata, .rd-fapta__insusire { display: none; }
.rd-fapta--aratat { border-color: var(--verde); }
.rd-fapta--aratat .rd-fapta__sageata { display: inline; color: var(--cerneala-slaba); animation: r2-apare 0.3s both; }
.rd-fapta--aratat .rd-fapta__insusire { display: inline-block; padding: 4px 14px; border-radius: 999px; background: var(--verde); color: #fff; font-weight: 900; animation: rd-intra-dreapta 0.6s cubic-bezier(0.3, 1.4, 0.6, 1) both; }
@keyframes rd-intra-dreapta { from { opacity: 0; transform: translateX(60px); } }

/* ---------- propoziția crescătoare, ordinea, acordul ---------- */
.rd-creste { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 0.3em; max-width: 100%; margin: 0; padding: 12px 16px; border-radius: 18px; background: #fffbea; border: 2px solid #f1dc8f; font-size: clamp(1.5rem, 4.6vw, 2.4rem); font-weight: 900; color: var(--albastru-inchis); }
.rd-creste__cuvant { display: inline-block; }
.rd-creste__cuvant--nou { color: var(--verde); animation: rd-creste 0.7s cubic-bezier(0.3, 1.5, 0.6, 1) both; }
@keyframes rd-creste { from { opacity: 0; transform: translateY(-30px) scale(0.4); } }
.rd-creste__semn { margin-left: -0.25em; }
.rd-creste__loc { display: inline-grid; place-items: center; min-width: 1.6em; padding: 0 6px; border: 3px dashed var(--albastru); border-radius: 12px; color: var(--albastru); animation: rd-clipeste 1s ease-in-out infinite; }
@keyframes rd-clipeste { 50% { opacity: 0.4; } }
.rd-creste--gata { border-color: var(--verde); background: var(--verde-pal); }

.rd-muta { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.35em; margin: 0; padding: 12px; border: 3px dashed var(--linie); border-radius: 18px; font-size: clamp(1.5rem, 4.4vw, 2.2rem); font-weight: 900; }
.rd-muta__cuvant { display: inline-block; padding: 2px 12px; border-radius: 12px; background: #ffe2c2; }

.rd-acord { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rd-acord__rand { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.3em; margin: 0; font-size: clamp(1.4rem, 4.2vw, 2.1rem); font-weight: 900; }
.rd-acord__cuvant--schimba { color: var(--rosu); }
.rd-acord__eticheta { margin: 0; padding: 4px 14px; border-radius: 999px; background: var(--albastru); color: #fff; font-weight: 800; }

/* ---------- cuvinte alintate, sunete, dicționar ---------- */
.rd-alint { display: flex; flex-direction: column; align-items: center; gap: 10px; width: min(100%, 620px); }
.rd-alint__rand { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 64px; padding: 8px 12px; border: 3px solid var(--linie); border-radius: 16px; background: var(--albastru-pal); color: var(--cerneala); font: inherit; font-size: clamp(1.3rem, 4vw, 1.8rem); font-weight: 900; cursor: pointer; }
.rd-alint__adaos, .rd-alint__egal, .rd-alint__rez { display: none; }
.rd-alint__rand--gata { border-color: var(--verde); background: #fff; }
.rd-alint__rand--gata .rd-alint__adaos { display: inline-block; padding: 0 10px; border-radius: 10px; background: #ffe2c2; color: #b35e0f; animation: rd-intra-dreapta 0.5s both; }
.rd-alint__rand--gata .rd-alint__adaos--inainte { animation-name: rd-intra-stanga; }
@keyframes rd-intra-stanga { from { opacity: 0; transform: translateX(-60px); } }
.rd-alint__rand--gata .rd-alint__egal { display: inline; color: var(--cerneala-slaba); animation: r2-apare 0.3s 0.5s both; }
.rd-alint__rand--gata .rd-alint__rez { display: inline-block; padding: 0 12px; border-radius: 12px; background: var(--verde-pal); color: var(--verde); animation: rd-creste 0.6s 0.7s cubic-bezier(0.3, 1.5, 0.6, 1) both; }

.rd-sunet { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rd-sunet__cuvant { display: flex; gap: 6px; margin: 0; perspective: 400px; }
.rd-sunet__litera { display: inline-grid; place-items: center; width: clamp(54px, 13vw, 76px); height: clamp(64px, 15vw, 88px); border: 3px solid var(--albastru); border-radius: 14px; background: #fff; font-size: clamp(2rem, 7vw, 3rem); font-weight: 900; }
.rd-sunet__litera--nou { border-color: var(--rosu); color: var(--rosu); background: var(--rosu-pal); }
.rd-sunet__istoric { margin: 0; font-size: 1.3rem; font-weight: 800; color: var(--cerneala-slaba); }

.rd-dictionar { display: flex; flex-direction: column; gap: 8px; width: min(100%, 680px); padding: 12px; border: 3px solid #c9a4ea; border-radius: 6px 18px 18px 6px; background: #fbf7ff; box-shadow: -8px 0 0 #8a3fc4; text-align: left; }
.rd-dictionar__intrare { margin: 0; padding: 6px 10px; border-radius: 10px; background: #fff; font-size: clamp(1.05rem, 2.8vw, 1.25rem); }
.rd-dictionar__cuvant { color: #8a3fc4; }
.rd-dictionar__sens { opacity: 0; transition: opacity 0.5s 0.6s; }
.rd-dictionar--gata .rd-dictionar__sens { opacity: 1; }

/* ---------- corectarea ---------- */
.rd-corect { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 10px; width: 100%; }
.rd-corect__rand { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 12px; min-height: 64px; padding: 8px 12px; border: 3px solid var(--linie); border-radius: 16px; background: #fff; color: var(--cerneala); font: inherit; font-size: clamp(1.2rem, 3.4vw, 1.5rem); font-weight: 800; cursor: pointer; }
.rd-corect__gresit { color: var(--cerneala); text-decoration: none; }
.rd-corect__bun, .rd-corect__nota { display: none; }
.rd-corect__rand--gata { border-color: var(--verde); }
.rd-corect__rand--gata .rd-corect__gresit { color: var(--rosu); text-decoration: line-through 3px; opacity: 0.7; }
.rd-corect__rand--gata .rd-corect__bun { display: inline-block; color: var(--verde); animation: rd-creste 0.6s cubic-bezier(0.3, 1.5, 0.6, 1) both; }
.rd-corect__rand--gata .rd-corect__nota { display: block; width: 100%; font-size: 0.95rem; font-weight: 700; color: var(--cerneala-slaba); animation: r2-apare 0.4s 0.4s both; }

/* ---------- semnele care cad ---------- */
.rd-semnetext { display: flex; flex-direction: column; gap: 10px; width: min(100%, 760px); padding: 12px 16px; border-radius: 18px; background: #fffbea; border: 2px solid #f1dc8f; text-align: left; }
.rd-semnetext__rand { margin: 0; font-size: clamp(1.25rem, 3.6vw, 1.8rem); font-weight: 800; line-height: 1.5; }
.rd-semnetext__semn { display: inline-block; padding: 0 2px; color: var(--rosu); font-weight: 900; animation: r2-cade 0.7s cubic-bezier(0.3, 1.6, 0.6, 1) var(--intarziere, 0ms) both; }

/* ---------- revista ---------- */
.rd-revista { display: flex; flex-direction: column; align-items: center; gap: 10px; width: min(100%, 820px); }
.rd-revista__nume { margin: 0; padding: 6px 22px; border-radius: 14px; background: linear-gradient(90deg, #ff8a65, #ffb74d); color: #fff; font-size: clamp(1.4rem, 4.4vw, 2rem); font-weight: 900; letter-spacing: 0.03em; }
.rd-revista__foaie { width: 100%; perspective: 1200px; }
.rd-revista__nav { display: flex; align-items: center; gap: 14px; }
.rd-revista__buton { width: 56px; height: 56px; border: none; border-radius: 50%; background: var(--albastru); color: #fff; font-size: 1.4rem; cursor: pointer; }
.rd-revista__buton:disabled { opacity: 0.3; cursor: default; }
.rd-revista__nr { font-weight: 800; color: var(--cerneala-slaba); }
.rd-pagina { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; padding: 14px; border: 2px solid var(--linie); border-radius: 6px 6px 18px 18px; background: #fff; box-shadow: 0 6px 16px hsl(205 60% 20% / 0.15); transform-origin: left center; }
.rd-pagina--dreapta { animation: rd-foaie-dreapta 0.6s ease-out both; }
.rd-pagina--stanga { transform-origin: right center; animation: rd-foaie-stanga 0.6s ease-out both; }
@keyframes rd-foaie-dreapta { from { transform: rotateY(70deg); opacity: 0; } }
@keyframes rd-foaie-stanga { from { transform: rotateY(-70deg); opacity: 0; } }
.rd-pagina__antet { grid-column: 1 / -1; margin: 0; padding-bottom: 6px; border-bottom: 2px solid var(--linie); font-weight: 800; color: var(--cerneala-slaba); text-align: center; }
.rd-articol { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 10px 12px; border-radius: 14px; background: #fffbea; text-align: left; }
.rd-articol--afis { border: 4px double #e0731f; background: #fff1e3; text-align: center; }
.rd-articol--bilet { border: 2px dashed var(--albastru); background: var(--albastru-pal); }
.rd-articol--cuprins { background: #f6edfd; }
.rd-articol__cap { display: flex; align-items: center; gap: 10px; }
.rd-articol__img { flex: none; width: 56px; height: 56px; }
.rd-articol__img.imagine--emoji { font-size: 44px; }
.rd-articol__titlu { margin: 0; font-size: 1.2rem; color: var(--albastru-inchis); }
.rd-articol__autor { margin: 0; font-style: italic; color: var(--cerneala-slaba); }
.rd-articol__corp p { margin: 0 0 4px; font-size: 1.1rem; line-height: 1.45; }
.rd-articol__corp--poezie p { margin: 0; }

/* ---------- jocurile: pașii în ordine ---------- */
.rd-pasi { display: flex; flex-direction: column; gap: 8px; width: min(100%, 720px); margin: 0; padding: 0; list-style: none; }
.rd-pasi__loc { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 10px; border: 3px dashed var(--linie); border-radius: 14px; background: #fff; }
.rd-pasi__nr { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--albastru); color: #fff; font-weight: 900; }
.rd-pasi__gol { flex: 1; font-size: clamp(1.05rem, 2.8vw, 1.3rem); font-weight: 800; text-align: left; }
.rd-pasi__loc--plin { border-style: solid; border-color: var(--verde); background: var(--verde-pal); animation: r2-pune 0.4s both; }
.rd-piesa-pas { max-width: min(100%, 300px); }
.rd-piesa-pas .r2-piesa__text { font-size: clamp(1rem, 2.8vw, 1.25rem); }
.rd-piesa-pas .r2-piesa__img.imagine { width: 52px; height: 52px; }
.rd-piesa-pas .r2-piesa__img.imagine--emoji { font-size: 40px; }

/* ---------- banda desenată ---------- */
.rd-banda { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(46%, 200px), 1fr)); gap: 10px; width: 100%; }
.rd-cadru { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; margin: 0; padding: 8px; border: 4px solid var(--cerneala); border-radius: 8px; background: #fff; transition: box-shadow 0.3s, transform 0.3s; }
.rd-cadru--acum { box-shadow: 0 0 0 5px var(--galben); transform: translateY(-3px); }
.rd-cadru__nr { position: absolute; top: 4px; left: 6px; z-index: 1; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--cerneala); color: #fff; font-weight: 900; }
.rd-cadru__desen { position: relative; display: grid; place-items: center; width: 100%; aspect-ratio: 4 / 3; border-radius: 4px; background: var(--albastru-pal); overflow: hidden; }
.rd-cadru__img.imagine { width: 100%; height: 100%; object-fit: cover; }
.rd-cadru__img.imagine--emoji { display: grid; place-items: center; font-size: clamp(3rem, 10vw, 4.4rem); }
.rd-cadru__text { font-size: clamp(0.95rem, 2.4vw, 1.1rem); font-weight: 700; line-height: 1.3; text-align: center; }
.rd-bula { position: relative; align-self: stretch; min-height: 2.6em; padding: 6px 10px; border: 3px solid var(--cerneala); border-radius: 18px; background: #fff; font-size: clamp(0.95rem, 2.4vw, 1.1rem); font-weight: 800; line-height: 1.25; text-align: center; color: var(--cerneala-slaba); }
.rd-bula::after { content: ''; position: absolute; bottom: -12px; left: 30%; width: 16px; height: 16px; border-right: 3px solid var(--cerneala); border-bottom: 3px solid var(--cerneala); background: #fff; transform: rotate(45deg); }
.rd-bula--plina { color: var(--cerneala); background: #fffbea; animation: r2-pune 0.4s both; }
.rd-bula--plina::after { background: #fffbea; }
.rd-banda--vizual .rd-cadru { border-width: 3px; }

/* ---------- Cine sunt? ---------- */
.rd-raspuns { margin: 0; padding: 10px 18px; border-radius: 18px; background: #f6edfd; border: 3px solid #c9a4ea; font-size: clamp(1.15rem, 3vw, 1.45rem); font-weight: 900; text-align: center; }
.rd-cine__grila { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(23%, 120px), 1fr)); gap: 8px; width: 100%; }
.rd-cine__animal { display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 0; padding: 6px 2px; border: 3px solid var(--linie); border-radius: 16px; background: #fff; color: var(--cerneala); font: inherit; font-size: clamp(0.85rem, 2.4vw, 1.1rem); font-weight: 800; cursor: pointer; transition: opacity 0.5s, transform 0.5s, filter 0.5s; }
.rd-cine__animal .imagine { width: clamp(48px, 11vw, 84px); height: clamp(48px, 11vw, 84px); }
.rd-cine__animal .imagine--emoji { font-size: clamp(36px, 8vw, 60px); }
.rd-cine__animal--scos { opacity: 0.2; filter: grayscale(1); transform: scale(0.85); cursor: default; }
.rd-cine__animal--gasit { border-color: var(--verde); background: var(--verde-pal); opacity: 1; filter: none; animation: rd-bifa 0.6s 2 both; }
.rd-cine__intrebari { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.rd-cine__q:disabled { opacity: 0.35; }

/* ---------- alt final ---------- */
.rd-final__cer { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.rd-final__img.imagine { width: 110px; height: 110px; }
.rd-final__img.imagine--emoji { font-size: 80px; }
.rd-urmare { width: min(100%, 720px); }
.rd-urmare__text { margin: 0; padding: 12px 16px; border-left: 6px solid var(--verde); border-radius: 12px; background: var(--verde-pal); font-size: clamp(1.1rem, 2.8vw, 1.3rem); font-weight: 700; line-height: 1.45; text-align: left; }

/* ---------- Fazan ---------- */
.rd-fazan__sir { display: flex; flex-direction: column; gap: 8px; width: min(100%, 560px); }
.rd-fazan__cuvant { display: flex; align-items: center; gap: 10px; max-width: 85%; padding: 8px 14px; border-radius: 18px; font-size: clamp(1.3rem, 4vw, 1.8rem); font-weight: 900; }
.rd-fazan__cuvant--eu { align-self: flex-start; background: var(--albastru-pal); border: 3px solid var(--albastru); }
.rd-fazan__cuvant--tu { align-self: flex-end; background: var(--verde-pal); border: 3px solid var(--verde); }
.rd-fazan__cine { font-size: 0.9rem; color: var(--cerneala-slaba); }
.rd-fazan__text { display: inline-flex; gap: 3px; }
.rd-fazan__silaba { padding: 0 3px; border-radius: 6px; }
.rd-fazan__cuvant--tu .rd-fazan__silaba--prima { background: #ffe58a; }
.rd-fazan__cuvant--eu .rd-fazan__silaba--ultima { background: #ffe58a; text-decoration: underline 3px; }

/* ---------- pagina mea de revistă ---------- */
.rd-pm__alegeri { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.rd-pm__grup { padding: 10px; border: 2px solid var(--linie); border-radius: 16px; background: var(--albastru-pal); }
.rd-pm__eticheta { margin: 0 0 8px; font-size: 1.1rem; }
.rd-pm__optiuni { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.rd-pm__optiune[aria-pressed='true'] { border-color: var(--verde); background: var(--verde-pal); }
.rd-pm__desen-mic { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.rd-pm__desen-mic .imagine { width: 56px; height: 56px; }
.rd-pm__desen-mic .imagine--emoji { font-size: 42px; }
.rd-pm__foaie { display: flex; flex-direction: column; gap: 10px; width: min(100%, 640px); padding: 18px; border: 2px solid var(--linie); border-radius: 6px; background: #fff; box-shadow: 0 8px 20px hsl(205 60% 20% / 0.18); }
.rd-pm__titlu { margin: 0; padding-bottom: 6px; border-bottom: 3px solid #ffb74d; font-size: clamp(1.4rem, 4vw, 1.9rem); text-align: center; color: var(--albastru-inchis); }
.rd-pm__corp { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; align-items: center; }
.rd-pm__text { display: flex; flex-direction: column; gap: 4px; text-align: left; }
.rd-pm__desen { display: grid; place-items: center; min-height: 140px; border: 2px dashed var(--linie); border-radius: 12px; }
.rd-pm__img.imagine { width: min(100%, 180px); height: auto; aspect-ratio: 1; }
.rd-pm__img.imagine--emoji { font-size: 110px; }
.rd-pm__gol { margin: 0; color: var(--cerneala-slaba); font-style: italic; }
.rd-pm__semnatura { margin: 0; font-size: 0.95rem; color: var(--cerneala-slaba); text-align: right; }
.rd-pm__butoane { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
@media print {
  body:has(.rd-tipar) * { visibility: hidden; }
  body:has(.rd-tipar) .rd-tipar, body:has(.rd-tipar) .rd-tipar * { visibility: visible; }
  body:has(.rd-tipar) .rd-tipar { position: absolute; top: 0; left: 0; width: 100%; box-shadow: none; border: none; }
}

/* ---------- greșelile ---------- */
.rd-greseli__text { width: min(100%, 760px); margin: 0; padding: 14px 18px; border-radius: 18px; background: #fffbea; border: 2px solid #f1dc8f; font-size: clamp(1.3rem, 3.6vw, 1.7rem); line-height: 1.9; text-align: left; }
.rd-greseli__text--gata { border-color: var(--verde); background: var(--verde-pal); }
.rd-greseli__cuvant { display: inline; padding: 2px 4px; border: none; border-radius: 8px; background: none; color: inherit; font: inherit; font-weight: 800; cursor: pointer; }
.rd-greseli__cuvant:hover { background: hsl(205 90% 88%); }
.rd-greseli__vechi { color: var(--rosu); text-decoration: line-through 3px; opacity: 0.7; }
.rd-greseli__nou { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 8px; background: var(--verde-pal); color: var(--verde); animation: rd-creste 0.6s cubic-bezier(0.3, 1.5, 0.6, 1) both; }

/* ---------- dictarea ---------- */
.rd-dictare__variante { display: flex; flex-direction: column; align-items: stretch; gap: 10px; width: min(100%, 640px); }
.rd-dictare__varianta { min-height: 60px; font-size: clamp(1.2rem, 3.4vw, 1.6rem); white-space: normal; }

/* ---------- semnele de punctuație ---------- */
.rd-semne__prop { text-align: left; }
.rd-semne__gol { min-width: 1.2em; }
.rd-semne__gol--acum { border-bottom-color: var(--rosu); background: #ffe58a; animation: rd-clipeste 1s ease-in-out infinite; }
.rd-semne__gol--pus { color: var(--rosu); }
.rd-semne__panou { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.rd-semn { width: clamp(60px, 13vw, 84px); height: clamp(60px, 13vw, 84px); border: none; border-radius: 18px; background: linear-gradient(160deg, #4f8ff0, var(--albastru-inchis)); box-shadow: 0 5px 0 #1a46a3; color: #fff; font: inherit; font-size: clamp(2.2rem, 7vw, 3rem); font-weight: 900; line-height: 1; cursor: pointer; }
.rd-semn:active { transform: translateY(3px); }

/* ---------- rebusul ---------- */
.rd-rebus { --latura: clamp(36px, calc((100vw - 90px) / var(--coloane)), 56px); display: grid; grid-template-columns: repeat(var(--coloane), var(--latura)); gap: 4px; justify-content: center; max-width: 100%; }
.rd-rebus__liber { width: var(--latura); height: var(--latura); }
.rd-rebus__casuta { display: grid; place-items: center; width: var(--latura); height: var(--latura); border: 3px solid var(--albastru); border-radius: 8px; background: #fff; font-size: calc(var(--latura) * 0.55); font-weight: 900; }
.rd-rebus__casuta--cheie { border-color: var(--rosu); background: #ffe58a; }
.rd-rebus__casuta--acum { box-shadow: 0 0 0 3px var(--verde); }
.rd-rebus__casuta--pusa { animation: r2-pune 0.35s both; }
.rd-rebus--gata .rd-rebus__casuta--cheie { background: var(--verde); color: #fff; border-color: var(--verde); animation: rd-bifa 0.6s 2 both; }

/* ---------- întrebările anului ---------- */
.rd-an__card { display: flex; flex-direction: column; align-items: center; gap: 12px; width: min(100%, 680px); padding: 16px; border-radius: 22px; background: #fff; border: 3px solid var(--linie); box-shadow: 0 6px 16px hsl(205 60% 20% / 0.12); }
.rd-an__card--intra { animation: rd-intra-dreapta 0.5s ease-out both; }
.rd-an__emoji { font-size: 3rem; line-height: 1; }
.rd-an__intrebare { margin: 0; font-size: clamp(1.25rem, 3.4vw, 1.6rem); font-weight: 900; text-align: center; }

/* ---------- vocale, consoane, silabe ---------- */
.rd-vs { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.rd-vs__rand { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 14px; }
.rd-vs__cuvant { display: inline-flex; gap: 0; min-height: 64px; padding: 6px 16px; border: 3px solid var(--linie); border-radius: 16px; background: var(--albastru-pal); color: var(--cerneala); font: inherit; font-size: clamp(1.6rem, 5vw, 2.4rem); font-weight: 900; cursor: pointer; }
.rd-vs__silaba { display: inline-flex; transition: margin 0.5s; }
.rd-vs__cuvant--silabe .rd-vs__silaba { margin: 0 0.25em; padding: 0 4px; border-bottom: 4px solid var(--albastru); }
.rd-vs__cuvant--culori .rd-vs__litera--v { color: var(--rosu); }
.rd-vs__cuvant--culori .rd-vs__litera--c { color: var(--albastru-inchis); }
.rd-vs__cuvant--culori .rd-vs__litera { animation: rd-bifa 0.4s both; }
.rd-vs__nota { font-size: 1.1rem; font-weight: 800; color: var(--cerneala-slaba); }

@media (max-width: 640px) {
  .rd-banda { gap: 6px; }
  .rd-cadru { padding: 6px 4px; border-width: 3px; }
  .rd-bula { padding: 4px 6px; }
  .rd-caiet { padding-left: 38px; }
  .rd-pagina { padding: 10px 8px; }
  .rd-articol { padding: 8px; }
  .rd-fazan__cuvant { max-width: 100%; }
  .rd-xcuv { min-width: 0; padding: 8px 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .rd-intoarce, .rd-doua__prop--a, .rd-doua__prop--i, .rd-xcuv--desfacut .rd-xcuv__s--1, .rd-xcuv--desfacut .rd-xcuv__s--2, .rd-xcuv--desfacut .rd-xcuv__x, .rd-rezumat__alineat--scurt .rd-rezumat__scurt,
  .rd-indicii__img--gasit, .rd-caiet__prop--nou, .rd-fapta--aratat .rd-fapta__insusire, .rd-creste__cuvant--nou, .rd-creste__loc,
  .rd-alint__rand--gata .rd-alint__adaos, .rd-alint__rand--gata .rd-alint__rez, .rd-corect__rand--gata .rd-corect__bun,
  .rd-semnetext__semn, .rd-pagina--dreapta, .rd-pagina--stanga, .rd-pasi__loc--plin, .rd-bula--plina, .rd-cine__animal--gasit,
  .rd-greseli__nou, .rd-semne__gol--acum, .rd-rebus__casuta--pusa, .rd-rebus--gata .rd-rebus__casuta--cheie, .rd-an__card--intra,
  .rd-vs__cuvant--culori .rd-vs__litera { animation: none; }
  .rd-indicii__img, .rd-cine__animal, .rd-dictionar__sens, .rd-rezumat__lung { transition: none; }
}
