/* =====================================================================================
   EDU — pagina copilului, aspectul v7 (runda 7, aprobat de Loredana în macheta docs/machete/v7).
   Se încarcă DUPĂ style.css (care rămâne baza comună cu pagina părintelui) și se aplică doar pe <body class="v7">.
   Componente: scena (fundalul ales), panoul de sticlă cu rama de lumină, butoanele-jeleu (un rol = o culoare),
   tabla mată cu pagini, bara Liorei, fața Liorei, camera, ecranele suprapuse, alegerile.
   Fonturi locale OFL (Inter, Manrope, scrisul de mână „Rotund”); nicio resursă externă.
   ===================================================================================== */
@font-face{font-family:"Inter EDU";src:url("/static/fonturi/Inter.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Manrope EDU";src:url("/static/fonturi/Manrope.ttf") format("truetype");font-weight:200 800;font-style:normal;font-display:swap}

/* ---------- jetoane ---------- */
@property --tinta{syntax:'<color>';inherits:true;initial-value:#8fd8ff}
:root{
  --ui:"Inter EDU",system-ui,sans-serif;--titlu:"Manrope EDU","Inter EDU",sans-serif;
  --text:#f4f5f9;--text-2:rgba(244,245,249,.74);--text-umbra:0 1px 1px rgba(0,0,0,.35);
  --sticla:rgba(26,28,40,.46);--sticla-voce:rgba(14,16,24,.6);--sticla-card:rgba(22,24,34,.62);--sticla-margine:rgba(255,255,255,.16);
  /* butoanele-jeleu: culori deschise, translucide; un rol = o culoare */
  --c-rosu:#ff8f8f;--c-albastru:#8fb8ff;--c-verde:#86e3a6;--c-turcoaz:#74e0dc;--c-roz:#ffa3d1;--c-galben:#ffe07a;--c-clar:#ffffff;
  /* scara tipografică în rem: crește cu „A+” (mărimea textului) */
  --t1:2.25rem;--t2:1.125rem;--t3:.95rem;--t4:.8125rem;
  --mx:clamp(16px,3.2vw,56px);--sus:34px;--jos:16px;--zoom:1;--voce:0;
  --tinta:#8fd8ff;transition:--tinta .9s ease;
  /* tabla albă (tema luminoasă) */
  /* runda 8: mult mai puțin luminoasă (L* ≈ 79 în loc de 96), ca să nu obosească ochii pe fundalul întunecat; cernelurile mai închise, ≥ 4,5 : 1 */
  --tabla:#c9c4b8;--tabla-fond:linear-gradient(180deg,#cdc8bd,#c7c2b6);--tabla-grila:rgba(60,45,30,.06);--tabla-nr:rgba(50,38,26,.55);
  --r-calc:#1d2a5a;--r-desen:#094f96;--r-gri:#474c57;--r-def:#085634;--r-imp:#960e50;--r-cerut:#733600
}
/* tabla neagră (tema întunecată: urmează sistemul sau alegerea din „Fundal și lumină” / butonul de temă) */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --tabla:#202227;--tabla-fond:linear-gradient(180deg,#23252b,#1c1e23);--tabla-grila:rgba(255,255,255,.045);--tabla-nr:rgba(255,255,255,.45);
  --r-calc:#f1f3fa;--r-desen:#6cbcff;--r-gri:#a9afbc;--r-def:#5fe0a4;--r-imp:#ff7cbd;--r-cerut:#ffc27a}}
:root[data-theme="dark"]{
  --tabla:#202227;--tabla-fond:linear-gradient(180deg,#23252b,#1c1e23);--tabla-grila:rgba(255,255,255,.045);--tabla-nr:rgba(255,255,255,.45);
  --r-calc:#f1f3fa;--r-desen:#6cbcff;--r-gri:#a9afbc;--r-def:#5fe0a4;--r-imp:#ff7cbd;--r-cerut:#ffc27a}
/* rama de lumină: o singură nuanță rece, aleasă de copil */
:root[data-lumina="gheata"]{--tinta:#8fd8ff}:root[data-lumina="cobalt"]{--tinta:#93abff}:root[data-lumina="ametist"]{--tinta:#bba6ff}:root[data-lumina="jad"]{--tinta:#7fe6c9}
html[data-font="dislexie"]{--ui:"OpenDyslexic",system-ui,sans-serif;--titlu:"OpenDyslexic",system-ui,sans-serif}

/* tokenii comuni din style.css, rescriși pentru sticla întunecată a paginii copilului */
body.v7{--ink:#f4f5f9;--mut:#bcc2cf;--acc:#9cc4ff;--acc-ink:#0f141b;--ok:#86e3a6;--warn:#ffd08a;--bad:#ff9a92;--line:rgba(255,255,255,.16);--soft:rgba(255,255,255,.1);
  --card:rgba(22,24,34,.62);--btn:transparent;--btn-ink:#f4f5f9;--focus:#ffd34d;--prof:#f4f5f9;--elev:#f4f5f9;--banner-bg:rgba(255,224,122,.12);--banner-line:rgba(255,224,122,.45)}
body.v7{margin:0;max-width:none;padding:0;min-height:100vh;font:400 1rem/1.5 var(--ui);color:var(--text);background:#0e0d12;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}
body.v7.in-lectie{overflow:hidden;height:100vh}
.v7 svg.i{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ---------- scena: fundalul ales (întunecat, centrul liniștit, detaliile spre margini) ---------- */
.scena{position:fixed;inset:0;overflow:hidden;background:#0e0d12;z-index:0}
.scena .strat{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.scena .strat svg{position:absolute;inset:0;width:100%;height:100%}
:root[data-fundal="biblioteca"] .strat[data-f="biblioteca"],:root[data-fundal="birou"] .strat[data-f="birou"],:root[data-fundal="ploaie"] .strat[data-f="ploaie"],
:root[data-fundal="lampa"] .strat[data-f="lampa"],:root[data-fundal="cer"] .strat[data-f="cer"],:root[data-fundal="poza"] .strat[data-f="poza"]{opacity:1}
.strat[data-f="poza"]{background:#1a1a20 center/cover no-repeat}
.scena .liniste{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 55% at 50% 50%,rgba(8,8,12,.38),rgba(8,8,12,0) 75%)}

/* dezvăluirea „profesor AI” și comutatoarele de accesibilitate: mereu vizibile, deasupra panoului */
.v7 .dezvaluire{position:fixed;left:var(--mx);right:var(--mx);top:0;height:var(--sus);z-index:5;display:flex;align-items:center;gap:6px;margin:0;padding:0 4px;border:0;border-radius:0;background:none;
  font:500 var(--t4)/1.2 var(--ui);color:var(--text-2);text-shadow:0 1px 2px rgba(0,0,0,.6)}
.v7 .dezvaluire b{color:var(--text)}
.v7 .dezvaluire .spacer{flex:1}
.v7 .dezvaluire button.ghost{min-height:28px;padding:3px 9px;border-radius:9px;border:0;background:rgba(14,16,24,.6);color:var(--text);font:600 var(--t4)/1 var(--ui)}
/* runda 10 (punctul 2b): pe ecranul lecției rămâne doar „Ecran complet”, mic și discret (ceilalți comutatori sunt în „Fundal și lumină”) */
.v7 .dezvaluire .ecran-discret{min-height:26px;padding:2px 8px;border:0;border-radius:8px;background:none;color:var(--text-2);font:500 12px/1 var(--ui);cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.v7 .dezvaluire .ecran-discret:hover{color:var(--text);background:rgba(14,16,24,.45);filter:none}

/* ---------- butoanele (runda 8): forma și aspectul din v6, translucide, cu culoarea înăuntru ----------
   Ca în v6: corpul cu lumină difuză sus, culoarea în mijloc, umbra materialului jos, lumina refractată pe muchia de jos, punctul de lumină
   și reflexia ferestrei pe curbura de sus, umbra colorată sub buton. Schimbat față de v6: (1) corpul e translucid (se vede prin el), cu
   culoarea înăuntru, ca un jeleu lucios; (2) niciun contur alb sau albicios în jurul butonului (scoase: inelul de 1 px, linia albă de sus,
   marginea); lumina de pe muchia de jos e colorată, nu albă. Culorile: roșu, roz, albastru, verde, galben (+ sticla limpede). */
.v7 .gel,.v7 #start button:not(.ghost):not(.discret),.v7 #blocat button,.v7.parinte button:not(.ghost):not(.discret):not(.gel){--b:oklch(.80 .02 250);--bl:oklch(.95 .01 250);--bd:oklch(.30 .03 260);--a1:44%;--a2:30%;--a3:52%;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:0 15px;border:0;
  border-radius:16px;cursor:pointer;color:var(--text);font:650 var(--t4)/1.15 var(--ui);text-shadow:0 1px 2px rgba(0,0,0,.5);
  background:
    radial-gradient(78% 42% at 50% 104%,color-mix(in oklab,var(--b) 50%,transparent) 0%,transparent 72%),
    radial-gradient(115% 88% at 30% 8%,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 50%),
    radial-gradient(150% 125% at 50% 22%,color-mix(in oklab,color-mix(in oklab,var(--b) 60%,white) var(--a1),transparent) 0%,color-mix(in oklab,var(--b) var(--a2),transparent) 50%,color-mix(in oklab,color-mix(in oklab,var(--b) 66%,var(--bd)) var(--a3),transparent) 100%),
    linear-gradient(var(--sub,rgba(12,14,22,.22)),var(--sub,rgba(12,14,22,.22)));
  box-shadow:inset 0 -3px 5px color-mix(in oklab,var(--b) 45%,transparent),inset 0 -16px 20px -10px color-mix(in oklab,var(--bd) 38%,transparent),
    inset 0 12px 18px -12px color-mix(in oklab,color-mix(in oklab,var(--b) 45%,white) 40%,transparent),
    0 2px 0 color-mix(in oklab,var(--bd) 35%,transparent),0 14px 26px -10px var(--glow,color-mix(in oklab,var(--b) 55%,transparent)),0 26px 36px -24px rgba(0,0,0,.5);
  transform:translateY(var(--ty,0)) scale(var(--sc,1));transition:transform .45s cubic-bezier(.3,1.4,.5,1),box-shadow .3s,filter .3s}
/* punctul de lumină și reflexia ferestrei pe curbura de sus (ca în v6) */
.v7 .gel::before,.v7 #start button:not(.ghost):not(.discret)::before,.v7.parinte button:not(.ghost):not(.discret)::before{content:"";position:absolute;left:12%;right:12%;top:3px;height:36%;border-radius:50% 50% 46% 46%/70% 70% 30% 30%;pointer-events:none;opacity:.55;
  border-top:2px solid rgba(255,255,255,.85);filter:blur(.4px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent)}
.v7 .gel::after,.v7 #start button:not(.ghost):not(.discret)::after,.v7.parinte button:not(.ghost):not(.discret)::after{content:"";position:absolute;left:10%;top:12%;width:22%;height:22%;border-radius:50%;pointer-events:none;opacity:.5;
  background:radial-gradient(closest-side,#fff 0%,rgba(255,255,255,.75) 40%,rgba(255,255,255,0));transform:rotate(-12deg);filter:blur(1.4px)}
.v7 .gel--sina::after{opacity:.68}
.v7 .gel>*{position:relative}
.v7 .gel svg.i{stroke:currentColor}
.v7 .gel:hover:not(:disabled),.v7 #start button:not(.ghost):not(.discret):hover:not(:disabled),.v7.parinte button:not(.ghost):not(.discret):hover:not(:disabled){--ty:-2px;filter:none}
.v7 .gel:active:not(:disabled),.v7 #start button:not(.ghost):not(.discret):active:not(:disabled),.v7.parinte button:not(.ghost):not(.discret):active:not(:disabled){--ty:3px;--sc:.96;transition-duration:.09s;filter:brightness(1.04) saturate(1.05)}
/* runda 9: focusul și starea aleasă — un contur fin, în culoarea butonului la jumătate, fără nicio lumină în jur (înainte: 2 px aproape alb) */
.v7 .gel:focus-visible{outline:1.5px solid color-mix(in oklab,var(--b) 55%,transparent);outline-offset:3px}
:where(body.v7:not(.parinte)) :focus-visible{outline:1.5px solid rgba(244,245,249,.5);outline-offset:2px}   /* restul paginii copilului (câmpul de scris, legături): în locul conturului galben de 3 px din style.css */
/* culorile: aceeași luminozitate și saturație (ca în v6, OKLCH), potrivite pentru un copil; un rol = o culoare
   runda 9: culorile cu 25 % mai intense (croma OKLCH × 1,25 pe toate trei tonurile); luminozitatea, nuanța, transparența și forma neschimbate */
.v7 .gel--rosu{--b:oklch(.72 .20 22);--bl:oklch(.95 .038 22);--bd:oklch(.40 .163 22)}
.v7 .gel--roz{--b:oklch(.74 .188 350);--bl:oklch(.95 .038 350);--bd:oklch(.40 .15 350)}
.v7 .gel--albastru{--b:oklch(.74 .175 240);--bl:oklch(.95 .038 240);--bd:oklch(.38 .138 250)}
.v7 .gel--verde,.v7 .gel--turcoaz{--b:oklch(.74 .188 150);--bl:oklch(.95 .05 150);--bd:oklch(.36 .113 150)}   /* caietul (fost turcoaz) = verde: „verificăm pasul” */
.v7 .gel--galben{--b:oklch(.86 .188 95);--bl:oklch(.97 .05 95);--bd:oklch(.42 .113 85)}
/* pastilele colorate cu text (de ex. „Gata”, „Începem”, „Trimite”): ca în v6, corpul luminos și eticheta în tonul închis al culorii (≥ 4,5 : 1) */
.v7 .gel:not(.gel--clar):not(.gel--sina),.v7 #start button.primary:not(.ghost):not(.discret),.v7.parinte button.primary,.v7.parinte button.bad{--a1:84%;--a2:68%;--a3:80%;--sub:transparent;color:color-mix(in oklab,var(--bd) 80%,black);text-shadow:none}
.v7 .gel--clar,.v7 #start button:not(.ghost):not(.discret):not(.primary),.v7 #blocat button,.v7.parinte button:not(.ghost):not(.discret):not(.primary):not(.bad):not(.gel){--b:oklch(.86 .015 250);--bl:oklch(.96 .01 250);--bd:oklch(.34 .03 260);--a1:24%;--a2:12%;--a3:28%;--glow:rgba(0,0,0,.4)}
/* sticla limpede (pastilele cu text): mai închisă sub etichetă, ca eticheta albă să rămână lizibilă (≥ 4,5 : 1) */
.v7 .gel--clar:not(.gel--sina)::after,.v7 #start button:not(.ghost):not(.discret):not(.primary)::after,.v7 #blocat button::after,.v7.parinte button:not(.ghost):not(.discret):not(.primary):not(.bad):not(.gel)::after{opacity:.3}
.v7 .gel--clar:not(.gel--sina),.v7 #start button:not(.ghost):not(.discret):not(.primary),.v7 #blocat button,.v7.parinte button:not(.ghost):not(.discret):not(.primary):not(.bad):not(.gel){background:radial-gradient(78% 42% at 50% 104%,color-mix(in oklab,var(--b) 30%,transparent) 0%,transparent 72%),radial-gradient(115% 88% at 30% 8%,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 50%),
    radial-gradient(150% 125% at 50% 22%,color-mix(in oklab,color-mix(in oklab,var(--b) 60%,white) var(--a1),transparent) 0%,color-mix(in oklab,var(--b) var(--a2),transparent) 50%,color-mix(in oklab,color-mix(in oklab,var(--b) 66%,var(--bd)) var(--a3),transparent) 100%),
    linear-gradient(rgba(12,14,22,.42),rgba(12,14,22,.42))}
/* butonul de pe șină: ca în v6 — „bila” pătrat-rotunjită, cu iconița înăuntru, iar eticheta dedesubt, pe panou */
.v7 .gel--sina{--s:64px;--a1:80%;--a2:58%;--a3:76%;flex-direction:column;gap:9px;width:100%;min-height:0;padding:0;border-radius:0;background:none;box-shadow:none;
  font:600 var(--t4)/1.2 var(--ui);letter-spacing:-.005em;text-align:center;color:var(--text)}
.v7 .gel--sina.gel--rosu,.v7 .gel--sina.mic{--s:80px}
.v7 .gel--sina.gel--rosu{--a1:76%;--a2:54%;--a3:72%}
.v7 .gel--sina.gel--galben{--glow:color-mix(in oklab,var(--b) 30%,transparent)}   /* runda 8: lumina galbenă de sub buton nu mai albește eticheta */
.v7 .gel--sina.gel--clar{--a1:40%;--a2:14%;--a3:30%;--bd:#eef2fb}   /* sticla limpede: aproape transparentă, cu iconița luminoasă */
.v7 .gel--sina svg.i{width:var(--s);height:var(--s);padding:calc(var(--s)*.28);flex:none;border-radius:calc(var(--s)*.36);stroke:var(--bd);stroke-width:2.2;
  background:
    radial-gradient(78% 42% at 50% 104%,color-mix(in oklab,color-mix(in oklab,var(--b) 45%,var(--bl)) 92%,transparent) 0%,transparent 72%),
    radial-gradient(115% 88% at 30% 8%,rgba(255,255,255,.42) 0%,rgba(255,255,255,0) 50%),
    radial-gradient(56% 50% at 50% 60%,color-mix(in oklab,color-mix(in oklab,var(--b) 62%,white) 58%,transparent) 0%,transparent 100%),
    radial-gradient(150% 125% at 50% 22%,color-mix(in oklab,color-mix(in oklab,var(--b) 60%,white) var(--a1),transparent) 0%,color-mix(in oklab,var(--b) var(--a2),transparent) 50%,color-mix(in oklab,color-mix(in oklab,var(--b) 66%,var(--bd)) var(--a3),transparent) 100%);
  box-shadow:inset 0 -3px 5px color-mix(in oklab,var(--b) 60%,transparent),inset 0 -16px 20px -10px color-mix(in oklab,var(--bd) 38%,transparent),
    inset 0 12px 18px -12px color-mix(in oklab,color-mix(in oklab,var(--b) 45%,white) 55%,transparent),
    0 2px 0 color-mix(in oklab,var(--bd) 35%,transparent),0 16px 30px -10px var(--glow,color-mix(in oklab,var(--b) 62%,transparent)),0 30px 40px -26px rgba(0,0,0,.5);
  transform:perspective(420px) translateY(var(--ty,0)) scale(var(--sc,1));transition:transform .5s cubic-bezier(.3,1.4,.5,1),filter .3s}
.v7 .gel--sina:hover,.v7 .gel--sina:active{--ty:0;--sc:1;filter:none}
.v7 .gel--sina:hover svg.i{--ty:-2px}
.v7 .gel--sina:active svg.i{--ty:3px;--sc:.96;transition-duration:.09s;filter:brightness(1.04) saturate(1.05)}
.v7 .gel--sina::before{left:calc(50% - var(--s)*.38);right:auto;width:calc(var(--s)*.76);top:3px;height:calc(var(--s)*.34)}
.v7 .gel--sina::after{left:calc(50% - var(--s)*.33);top:calc(var(--s)*.1);width:calc(var(--s)*.26);height:calc(var(--s)*.14)}
.v7 .gel--sina:focus-visible{outline:none}.v7 .gel--sina:focus-visible svg.i{outline:1.5px solid color-mix(in oklab,var(--b) 55%,transparent);outline-offset:3px}
.v7 .gel.on{outline:1.5px solid color-mix(in oklab,var(--b) 55%,transparent);outline-offset:3px}   /* runda 9: înainte inel de 2 px + lumină de 18 px */
.v7 .gel--sina.on{box-shadow:none;outline:none}.v7 .gel--sina.on svg.i{outline:1.5px solid color-mix(in oklab,var(--b) 55%,transparent);outline-offset:3px}
.v7 .gel.cheama{animation:cheama 1.6s ease-in-out infinite}.v7 .gel--sina.cheama{animation:none}.v7 .gel--sina.cheama svg.i{animation:cheama 1.6s ease-in-out infinite}
@keyframes cheama{0%,100%{outline:1.5px solid transparent;outline-offset:3px}50%{outline:1.5px solid color-mix(in oklab,var(--b) 55%,transparent);outline-offset:3px}}   /* runda 9: conturul fin apare și dispare, fără lumină (înainte: lumină de 22 px care pulsa) */
.v7 .gel:disabled{opacity:.5}
.v7 #start button.primary:not(.ghost):not(.discret){--b:oklch(.74 .188 150);--bl:oklch(.95 .05 150);--bd:oklch(.36 .113 150)}   /* runda 9: verdele de mai sus (× 1,25) */
/* microfonul (ca în v6): starea se citește din text și din punctul din fața etichetei, nu doar din culoare; oprit = corp gri, iconița tăiată */
.v7 .mic .i-off{display:none}.v7 .mic.oprit .i-on{display:none}.v7 .mic.oprit .i-off{display:block}
.v7 .mic.oprit{--b:oklch(.86 .01 250);--bl:oklch(.96 .005 250);--bd:oklch(.42 .15 25);--a1:52%;--a2:36%;--a3:56%}
.v7 .mic .stare-mic{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.v7 .mic .stare-mic::before{content:"";width:8px;height:8px;border-radius:50%;background:#3ccf6e;box-shadow:0 0 0 3px rgba(60,207,110,.25);flex:none}
.v7 .mic.oprit .stare-mic::before{background:#ff5f75;box-shadow:0 0 0 3px rgba(255,95,117,.25)}
.v7 .mic.oprit .stare-mic{color:#ffc4cd}
.v7 .mic.asculta svg.i{outline:1.5px solid color-mix(in oklab,var(--b) 55%,transparent);outline-offset:3px}   /* runda 9: fără lumină în jur */

/* legături discrete (secundare) */
.v7 .discret{min-height:44px;padding:4px 8px;border:0;border-radius:10px;background:none;color:var(--text-2);font:600 var(--t4)/1.2 var(--ui);text-decoration:underline;text-decoration-color:rgba(255,255,255,.3);text-underline-offset:3px;cursor:pointer}
.v7 .discret:hover{color:var(--text);filter:none}

/* ---------- ecranele „card” (pornire, blocat): sticlă peste scenă ---------- */
.v7 .card{position:relative;background:var(--sticla-card);border:1px solid var(--sticla-margine);border-radius:22px;padding:16px 18px;color:var(--text);
  -webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 48px -28px rgba(0,0,0,.7)}
.v7 h1,.v7 h2,.v7 h3{font-family:var(--titlu);letter-spacing:-.015em;color:var(--text)}
.v7 .mut,.v7 .stare{color:var(--text-2)}
.v7 .pill{background:rgba(255,255,255,.1);color:var(--text);border:1px solid rgba(255,255,255,.16)}
.v7 textarea,.v7 input[type=text],.v7 input[type=date],.v7 select{background:rgba(8,10,16,.45);color:var(--text);border:1px solid rgba(255,255,255,.22);border-radius:12px;font-family:var(--ui)}
.v7 textarea::placeholder,.v7 input::placeholder{color:rgba(244,245,249,.55)}
.v7 select option{background:#1a1c24;color:#f4f5f9}
.v7 details summary{color:var(--text)}
.v7 table td,.v7 table th{border-bottom-color:rgba(255,255,255,.14)}
.v7 a{color:#cfe2ff}
.v7 .warn{color:var(--warn)}.v7 .ok{color:var(--ok)}.v7 .bad{color:var(--bad)}
/* butoanele din ecranele de pornire: același material ca butoanele lecției (vezi mai sus) */

/* ---------- ecranul de pornire ---------- */
.v7 .start{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:calc(var(--sus) + 10px) var(--mx) 40px}
.v7 .start .cap{display:flex;align-items:center;gap:18px;padding:18px 22px;margin-bottom:14px}
.v7 .start .cap h1{margin:0;font:700 var(--t1)/1.05 var(--titlu)}
.v7 .start .cap .liora{--s:76px}
.v7 .start .grila{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v7 .start .grila .lat{grid-column:1/-1}
.v7 .start .card h2{margin:0 0 8px;font:700 1.1rem/1.2 var(--titlu)}
.v7 .start .card p{margin:.2em 0 .7em}
.v7 #lectii{gap:10px}
.v7 #lectii button{min-height:54px;padding:0 20px;font-size:var(--t3)}
@media (max-width:900px){.v7 .start .grila{grid-template-columns:1fr}}
.v7 #blocat{position:relative;z-index:1;max-width:560px;margin:15vh auto 0}

/* ---------- panoul lecției (sticlă) ---------- */
.v7 #lectie{position:fixed;inset:0;z-index:2}
.v7 .panou{position:fixed;left:var(--mx);right:var(--mx);top:var(--sus);bottom:var(--jos);z-index:2;border-radius:30px;
  display:grid;grid-template-columns:112px minmax(0,1fr) 112px;grid-template-rows:auto minmax(0,1fr) auto;column-gap:14px;row-gap:10px;padding:12px 14px 12px;
  /* runda 8: sticlă sablată — lăptoasă (un văl alb fin care împrăștie lumina), estompare puternică și un grăunte fin, ca sticla mată */
  background:radial-gradient(120% 70% at 50% 0%,rgba(255,255,255,.09),rgba(255,255,255,0) 60%),linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045)),var(--sticla);
  -webkit-backdrop-filter:blur(42px) saturate(130%) brightness(1.06);backdrop-filter:blur(42px) saturate(130%) brightness(1.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 40px rgba(255,255,255,.035),0 40px 80px -30px rgba(0,0,0,.65)}
.v7 .panou::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;opacity:.16;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.1 -.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
:root[data-fundal="poza"] .v7 .panou{--sticla:rgba(22,24,34,.62)}
/* rama de lumină (runda 8): colorată, mai lată și mai moale; cea mai intensă chiar pe contur, apoi se pierde spre exterior ca o lumină reală
   (mai multe straturi, tot mai largi și mai slabe); fără firul alb */
.v7 .rama{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1}
/* runda 9 (ochelari de chihlimbar, luminozitate scăzută, ochii o dor): rama MULT mai slabă, mai lată și mai difuză — firul abia se vede
   (1 px, 12 %, estompat 3 px; înainte 2 px, 78 %), iar lumina e un văl larg și slab (cel mai puternic strat 8 %, cel mai larg 170 px; înainte 62 % și 80 px) */
.v7 .rama .fir{position:absolute;inset:-1px;border-radius:inherit;border:1px solid color-mix(in oklab,var(--tinta) 12%,transparent);filter:blur(3px)}
.v7 .rama .halou{position:absolute;inset:-1px;border-radius:inherit;transition:box-shadow .5s ease;
  box-shadow:0 0 26px 5px color-mix(in oklab,var(--tinta) 8%,transparent),0 0 60px 16px color-mix(in oklab,var(--tinta) 5%,transparent),
    0 0 110px 34px color-mix(in oklab,var(--tinta) 3%,transparent),0 0 170px 56px color-mix(in oklab,var(--tinta) 1.8%,transparent),
    inset 0 0 40px 6px color-mix(in oklab,var(--tinta) 4%,transparent)}
.v7 .start .cap .rama,.v7 .poarta-card .rama{border-radius:inherit}

/* ---------- bara de sus ---------- */
.v7 .sus{grid-column:1/4;display:flex;align-items:center;gap:12px;min-width:0;position:relative;z-index:3;flex-wrap:wrap}
.v7 .info{display:flex;flex-direction:column;gap:4px;min-width:0;padding-left:6px}
.v7 .info .data{font:600 var(--t4)/1 var(--ui);color:var(--text-2)}
.v7 .info b{font:700 var(--t3)/1.15 var(--titlu);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}
.v7 .acum{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 13px;border-radius:17px;flex:none;white-space:nowrap;font:650 var(--t4)/1 var(--ui);
  color:var(--text);background:color-mix(in oklab,var(--tinta) 22%,transparent);border:1px solid color-mix(in oklab,var(--tinta) 50%,rgba(255,255,255,.4))}
.v7 .acum .trei{display:inline-flex;gap:4px}.v7 .acum .trei i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3)}.v7 .acum .trei i.on{background:#fff}
.v7 .sus .gol{flex:1}
.v7 #spectator{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:15px;font:650 var(--t4)/1 var(--ui);color:var(--text);background:rgba(255,107,129,.16);border:1px solid rgba(255,140,160,.5)}
.v7 #spectator::before{content:"";width:8px;height:8px;border-radius:50%;background:#ff6b81;box-shadow:0 0 0 3px rgba(255,107,129,.25)}
.v7 #dispozitiv{display:none}
.v7 .zoom{display:inline-flex;gap:2px;padding:3px;border-radius:14px;background:rgba(255,255,255,.08)}
.v7 .zoom .et{align-self:center;padding:0 6px 0 8px;font:600 var(--t4)/1 var(--ui);color:var(--text-2)}
.v7 .zoom button{min-width:44px;min-height:30px;height:30px;padding:0 6px;border:0;border-radius:11px;background:none;color:var(--text-2);font:650 12px/1 var(--ui);cursor:pointer}
.v7 .zoom button.on{background:rgba(255,255,255,.18);color:var(--text)}

/* ---------- șinele de butoane ---------- */
.v7 .sina{grid-row:2/4;display:flex;flex-direction:column;justify-content:center;gap:12px;position:relative;z-index:3}
.v7 .sina.st{grid-column:1}.v7 .sina.dr{grid-column:3}

/* ---------- tabla mată ---------- */
.v7 .zona{grid-column:2;grid-row:2;position:relative;min-height:0;z-index:2}
.v7 #tabla{position:absolute;inset:0;border-radius:14px;overflow:hidden;isolation:isolate;touch-action:pan-y}
.v7 .tabla-cadru{position:absolute;inset:0;border-radius:14px;pointer-events:none;z-index:4;box-shadow:0 0 0 1px rgba(0,0,0,.35),0 0 0 3px rgba(255,255,255,.08),0 20px 40px -18px rgba(0,0,0,.6)}
.v7 .foaie{position:absolute;inset:0;border-radius:14px;overflow:hidden;background:var(--tabla-fond);transition:background .6s,transform .9s cubic-bezier(.5,.02,.25,1)}
.v7 .foaie .grila{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--tabla-grila) 1px,transparent 1px),linear-gradient(90deg,var(--tabla-grila) 1px,transparent 1px);background-size:32px 32px}
.v7 .foaie .nr-pag{position:absolute;right:14px;bottom:10px;font:600 12px/1 var(--ui);color:var(--tabla-nr)}
.v7 .foaie .nr-pag::before{content:"tabla "}
.v7 .foaie.in-sertar .nr-pag{opacity:0}
.v7 .foaie.in-sertar{cursor:grab;box-shadow:6px 0 14px -6px rgba(0,0,0,.4)}
.v7 .foaie .maner{position:absolute;right:0;top:0;bottom:0;width:30px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none}
.v7 .foaie.in-sertar.sus .maner{display:flex}
.v7 .foaie .maner i{width:4px;height:44px;border-radius:2px;background:color-mix(in oklab,var(--r-calc) 35%,transparent)}
.v7 .foaie .maner b{font:700 12px/1 var(--ui);color:var(--tabla-nr);min-width:20px;height:20px;border-radius:10px;display:grid;place-items:center;background:color-mix(in oklab,var(--r-calc) 10%,transparent)}
.v7 .foaie .continut{position:absolute;inset:0;overflow:auto;scrollbar-width:thin}
.v7 .tabla-svg{display:block;width:calc(100% * var(--zoom));height:auto}
.v7 .tabla-svg .tus{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.v7 .tabla-svg .anot{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.v7 .zona:has(#figura:not(:empty)) .tabla-gol{display:none}
.v7 .tabla-gol{position:absolute;left:0;right:0;top:44%;text-align:center;font:500 var(--t3)/1.4 var(--ui);color:var(--tabla-nr);pointer-events:none;padding:0 12%}
.v7 #inapoi{position:absolute;right:12px;bottom:10px;z-index:95;display:flex;align-items:center;gap:10px;min-height:40px;height:40px;padding:0 6px 0 14px;border-radius:20px;border:0;
  background:rgba(20,22,32,.86);color:var(--text);font:600 var(--t4)/1 var(--ui);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .3s,transform .4s}
.v7 #inapoi.v{opacity:1;pointer-events:auto;transform:none}
.v7 #inapoi b{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:15px;background:color-mix(in oklab,var(--tinta) 30%,transparent);border:1px solid color-mix(in oklab,var(--tinta) 60%,white)}
/* figura problemei, desenată pe tablă (colțul din dreapta sus) */
.v7 .figura-tabla{position:absolute;right:14px;top:12px;width:min(36%,360px);z-index:3;pointer-events:none}
.v7 .figura-tabla:has(#figura:empty){display:none}
.v7 #figura svg{width:100%;height:auto;max-height:min(46vh,340px);display:block}
.v7 #figura .seg{stroke:var(--r-desen);stroke-linecap:round}
.v7 #figura .seg.on{stroke:var(--r-imp)}
.v7 #figura .seg.alt{stroke:var(--r-desen);opacity:.85}
.v7 #figura .unghi{stroke:var(--r-desen);fill:none}
.v7 #figura .litera{fill:var(--r-calc);font-family:var(--ui)}
.v7 #figura .lungime{fill:var(--r-def);font-family:var(--ui)}
.v7 #figura .lungime.cerut{fill:var(--r-cerut)}
.v7 #figuranota{margin-top:2px;font:500 12px/1.3 var(--ui);color:var(--tabla-nr);text-align:right}
/* desenul în caiet, odată cu Liora: bara cu „Gata” */
.v7 .desen-pas{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:96;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-radius:18px;
  background:color-mix(in oklab,var(--c-turcoaz) 22%,rgba(16,18,26,.92));border:1px solid color-mix(in oklab,var(--c-turcoaz) 60%,white);font:650 var(--t4)/1.2 var(--ui);color:var(--text)}
/* camera pentru caiet */
.v7 .camera{position:absolute;inset:0;z-index:97;display:flex;align-items:center;justify-content:center;border-radius:14px;background:rgba(6,6,10,.5)}
.v7 .camera .cam-card{width:min(600px,94%);display:flex;flex-direction:column;gap:9px;padding:14px 16px;border-radius:20px;background:rgba(22,24,34,.95);border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 60px -24px rgba(0,0,0,.7)}
.v7 .camera .cam-cap{display:flex;align-items:center;gap:10px}.v7 .camera .cam-cap b{flex:1;font:700 var(--t3)/1 var(--titlu)}
.v7 .camera .cam-on{display:inline-flex;align-items:center;gap:7px;font:650 12px/1 var(--ui);color:#ffd5dc;background:rgba(255,107,129,.16);padding:6px 10px;border-radius:10px}
.v7 .camera .cam-on i{width:8px;height:8px;border-radius:50%;background:#ff6b81}
.v7 #caietVideo{width:100%;max-height:46vh;border-radius:14px;background:#111;object-fit:cover}
.v7 #caietNota{margin:0;padding:8px 11px;border-radius:11px;background:rgba(255,255,255,.06);font:500 12.5px/1.4 var(--ui);color:var(--text-2)}
/* foile suprapuse peste tablă: raportul, resursele de ajutor, pauza */
.v7 .peste{position:absolute;inset:0;z-index:98;display:flex;align-items:flex-start;justify-content:center;padding:14px;border-radius:14px;background:rgba(6,6,10,.5);overflow:auto}
.v7 .peste .card{width:min(760px,100%);background:rgba(22,24,34,.95)}
.v7 .peste .card h2{margin:0 0 8px}
.v7 .peste .inchide-foaia{float:right}
.v7 .pauza-card{align-self:center;text-align:center;max-width:460px}
.v7 .pauza-card h2{font:700 1.4rem/1.2 var(--titlu)}

/* ---------- bara Liorei (jos, lângă ea) ---------- */
.v7 .jos{grid-column:2;grid-row:3;display:flex;align-items:flex-end;gap:12px;position:relative;z-index:4;min-width:0}
.v7 .voce-loc{flex:1;min-width:0}
.v7 #voce{border-radius:18px;padding:10px 16px 10px;display:flex;flex-direction:column;gap:4px;background:var(--sticla-voce);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.v7 #voce .cine{font:650 12px/1 var(--ui);color:color-mix(in oklab,var(--tinta) 70%,white);display:flex;gap:10px;align-items:center}
.v7 #voce .cine .stare-liora{font-weight:500;color:var(--text-2)}
.v7 #profesor{font:500 var(--t2)/1.42 var(--ui);color:var(--text);min-height:1.4em;max-height:26vh;overflow:auto;white-space:pre-wrap;scrollbar-width:thin}
.v7 #subtitrare{font:500 var(--t3)/1.4 var(--ui);color:color-mix(in oklab,var(--c-galben) 45%,white);font-style:italic}
.v7 #subtitrare:empty{display:none}
/* variantele: doar text, și doar când le trimite serverul (după a doua tăcere) — nu butoane */
.v7 #optiuni{display:block;padding:6px 11px;border-radius:12px;background:rgba(255,255,255,.07);border-left:3px solid color-mix(in oklab,var(--tinta) 70%,white);font:500 var(--t3)/1.4 var(--ui);color:var(--text);margin:2px 0 0}
.v7 #optiuni:empty{display:none}
.v7 #optiuni b{font-weight:650;color:color-mix(in oklab,var(--tinta) 50%,white)}
/* fraza aplicației spusă de Liora (ex. „pornește microfonul”): nu schimbă întrebarea, apare dedesubt */
.v7 #anunt{font:500 var(--t3)/1.4 var(--ui);color:#ffd5dc;font-style:italic}.v7 #anunt:empty{display:none}
.v7 .asteapta{display:none;align-items:center;gap:10px;font:500 var(--t4)/1.3 var(--ui);color:var(--text-2)}
.v7 #voce.intreaba .asteapta{display:flex}
.v7 .asteapta .unde{display:inline-flex;align-items:flex-end;gap:3px;height:14px}
.v7 .asteapta .unde i{width:3px;border-radius:2px;background:var(--c-albastru);animation:unda 1s ease-in-out infinite}
.v7 .asteapta .unde i:nth-child(2){animation-delay:.15s}.v7 .asteapta .unde i:nth-child(3){animation-delay:.3s}.v7 .asteapta .unde i:nth-child(4){animation-delay:.45s}
.v7 .asteapta .unde i:nth-child(1){height:6px}.v7 .asteapta .unde i:nth-child(2){height:12px}.v7 .asteapta .unde i:nth-child(3){height:9px}.v7 .asteapta .unde i:nth-child(4){height:13px}
@keyframes unda{50%{transform:scaleY(.4)}}
body.v7.mic-off #voce .asteapta{display:none}
.v7 #micAvertizare{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;margin:2px 0 0;padding:8px 12px;border-radius:12px;background:rgba(255,120,140,.18);border:1px solid rgba(255,140,160,.6);
  font:650 var(--t4)/1.3 var(--ui);color:#ffe3e8;text-align:left;cursor:pointer}
.v7 .scrie-rand{display:flex;gap:8px;align-items:flex-end;margin-top:2px}
.v7 #text{flex:1;min-height:44px;max-height:96px;resize:none;padding:10px 12px;font:500 var(--t3)/1.35 var(--ui)}
.v7 #text.cheama{border-color:color-mix(in oklab,var(--c-galben) 45%,rgba(255,255,255,.22))}   /* runda 9: doar marginea, ușor gălbuie (înainte: margine aproape albă + inel galben de 3 px) */
.v7 #trimite{flex:none}
.v7 .subsol{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap;min-height:20px}
.v7 .subsol .stare{font:500 12px/1.3 var(--ui);color:var(--text-2)}
.v7 .subsol .gol{flex:1}
.v7 .subsol .discret{min-height:32px}
.v7 #istoricLoc{font:500 12.5px/1.4 var(--ui)}
.v7 #istoricLoc summary{min-height:32px;display:inline-flex;align-items:center;color:var(--text-2);font-weight:600}
.v7 #istoric{max-height:22vh;overflow:auto;border-top:1px solid rgba(255,255,255,.12);margin-top:4px;padding-top:4px;font-size:.9rem}
.v7 #istoric .elev{color:color-mix(in oklab,var(--c-galben) 50%,white)}
.v7 #istoric .prof::before{color:var(--text-2)}
.v7 .inchis-inactiv{position:absolute;inset:0;z-index:99;display:grid;place-items:center;background:rgba(6,6,10,.6);border-radius:30px}
.v7 .inchis-inactiv .card{width:min(480px,90%);padding:22px 24px;text-align:center;background:rgba(22,24,34,.96)}
.v7 .inchis-inactiv h2{margin:0 0 8px;font:700 1.4rem/1.2 var(--titlu)}
.v7 .inchis-inactiv p{margin:0 0 14px;color:var(--text-2)}

/* ---------- Liora „Soare”: fața se schimbă singură, după context (emoția de la server + vorbește / ascultă / gândește) ---------- */
.v7 .liora{--s:84px;--px:0px;--py:0px;--ink:#2b2430;width:var(--s);height:var(--s);position:relative;flex:none;animation:pluteste 5.5s ease-in-out infinite}
@keyframes pluteste{50%{translate:0 -3px}}
.v7 .liora .sfera{position:absolute;inset:0;border-radius:50%;transition:transform .5s cubic-bezier(.3,1.3,.5,1),filter .5s;
  background:radial-gradient(circle at 42% 30%,#fffef8 0%,#fffadf 36%,#fff2b4 72%,#ffe68c 100%);
  box-shadow:0 0 0 1.5px color-mix(in oklab,var(--tinta) 55%,white),0 0 calc(10px + var(--voce)*16px) calc(1px + var(--voce)*4px) color-mix(in oklab,var(--tinta) 45%,transparent),inset 0 -10px 16px -10px rgba(214,170,40,.45),0 10px 16px -10px rgba(0,0,0,.6)}
.v7 .liora .fata{position:absolute;inset:0;transform:translate(var(--px),var(--py));transition:transform .35s cubic-bezier(.3,1.3,.5,1),rotate .45s}
.v7 .liora .o{position:absolute;top:37%;width:calc(var(--s)*.12);height:calc(var(--s)*.16);transition:transform .3s,width .3s,height .3s,top .3s}
.v7 .liora .o.s{left:31%}.v7 .liora .o.d{right:31%}
.v7 .liora .ochi{position:absolute;inset:0;border-radius:50%;background:var(--ink);transition:transform .16s}
.v7 .liora .ochi::before,.v7 .liora .ochi::after{content:"";position:absolute;border-radius:50%;background:#fff}
.v7 .liora .ochi::after{width:36%;height:32%;right:14%;top:14%}
.v7 .liora .ochi::before{width:18%;height:16%;left:22%;bottom:18%;opacity:0}
.v7 .liora .pleoapa{position:absolute;left:0;right:0;top:0;height:0;background:#fff8d6;box-shadow:0 1.6px 0 0 var(--ink);opacity:0;transition:height .25s,opacity .2s}
.v7 .liora .spr{position:absolute;top:24%;width:calc(var(--s)*.15);height:calc(var(--s)*.03);border-radius:9px;background:var(--ink);opacity:0;transition:opacity .25s,transform .3s}
.v7 .liora .spr.s{left:28%}.v7 .liora .spr.d{right:28%}
.v7 .liora .gura{position:absolute;left:50%;top:60%;width:calc(var(--s)*.17);height:calc(var(--s)*.065);transform:translateX(-50%);border:calc(var(--s)*.028) solid var(--ink);border-top-width:0;border-radius:0 0 999px 999px;transition:width .25s,height .1s,border-radius .25s,top .25s}
.v7 .liora .lacrima{position:absolute;left:30%;top:52%;width:calc(var(--s)*.07);height:calc(var(--s)*.1);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#8fd0ff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);opacity:0;transition:opacity .4s,transform .8s}
.v7 .liora.clipeste .ochi{transform:scaleY(.1)}
/* vorbește (cât se aude vocea): gura se mișcă, peste emoția curentă */
.v7 .liora.vorbeste:not([data-stare="trista"]) .gura{width:calc(var(--s)*.14);border-top-width:calc(var(--s)*.028);border-radius:45% 45% 50% 50%/40% 40% 60% 60%;background:#7a3a44;animation:gura .26s ease-in-out infinite alternate}
@keyframes gura{from{height:calc(var(--s)*.04)}to{height:calc(var(--s)*.1)}}
/* ascultă: ochi mai mari, capul ușor înclinat */
.v7 .liora[data-stare="asculta"] .ochi{transform:scale(1.12)}
.v7 .liora[data-stare="asculta"] .sfera,.v7 .liora[data-stare="asculta"] .fata{rotate:-6deg}
/* gândește (între trimitere și răspuns): ochii de la „Calmă”, pe jumătate închiși, privind în sus, într-o parte */
.v7 .liora[data-stare="gandeste"] .o{overflow:hidden;border-radius:50%;transform:translate(4%,-6%)}
.v7 .liora[data-stare="gandeste"] .ochi{transform:translate(28%,-2%)}
.v7 .liora[data-stare="gandeste"] .ochi::after{right:2%;top:30%}
.v7 .liora[data-stare="gandeste"] .pleoapa{opacity:1;height:46%}
.v7 .liora[data-stare="gandeste"] .o.s .pleoapa{height:52%;transform:rotate(-7deg)}.v7 .liora[data-stare="gandeste"] .o.d .pleoapa{transform:rotate(6deg)}
.v7 .liora[data-stare="gandeste"] .gura{width:calc(var(--s)*.09);transform:translateX(-10%) rotate(-12deg)}
.v7 .liora[data-stare="gandeste"] .fata{transform:translate(3px,-3px)}
/* scrie pe tablă */
.v7 .liora[data-stare="deseneaza"] .sfera,.v7 .liora[data-stare="deseneaza"] .fata{transform:translate(4px,-4px);rotate:8deg}
.v7 .liora[data-stare="deseneaza"] .ochi{transform:translate(-14%,-16%)}
/* bucuroasă (mulțumită) */
.v7 .liora[data-stare="multumita"] .ochi{transform:scaleY(.72) translateY(10%)}
.v7 .liora[data-stare="multumita"] .gura{width:calc(var(--s)*.22);height:calc(var(--s)*.08)}
/* încurajează */
.v7 .liora[data-stare="incurajare"] .spr{opacity:1}.v7 .liora[data-stare="incurajare"] .spr.s{transform:rotate(-8deg) translateY(-20%)}.v7 .liora[data-stare="incurajare"] .spr.d{transform:rotate(8deg) translateY(-20%)}
.v7 .liora[data-stare="incurajare"] .gura{width:calc(var(--s)*.2);height:calc(var(--s)*.075)}
.v7 .liora[data-stare="incurajare"] .sfera,.v7 .liora[data-stare="incurajare"] .fata{animation:da 1.2s ease-in-out 1}
@keyframes da{30%{transform:translateY(3px)}60%{transform:translateY(-1px)}}
/* îngrijorată: sprâncenele ușor ridicate la interior, gura mică și dreaptă */
.v7 .liora[data-stare="ingrijorata"] .spr{opacity:1;top:23%}.v7 .liora[data-stare="ingrijorata"] .spr.s{transform:rotate(-14deg)}.v7 .liora[data-stare="ingrijorata"] .spr.d{transform:rotate(14deg)}
.v7 .liora[data-stare="ingrijorata"] .gura{top:64%;width:calc(var(--s)*.12);height:0;border-top-width:0;border-bottom-width:calc(var(--s)*.028);border-radius:2px}
/* foarte tristă („ochi de cățel”, la refuz): ochi mari, umezi, privind în sus; sprâncene ridicate puternic la interior; gura tremurată în jos; lacrima curge */
.v7 .liora[data-stare="trista"] .o{width:calc(var(--s)*.2);height:calc(var(--s)*.24);top:36%}
.v7 .liora[data-stare="trista"] .o.s{left:24%}.v7 .liora[data-stare="trista"] .o.d{right:24%}
.v7 .liora[data-stare="trista"] .ochi{transform:translateY(-6%);box-shadow:inset 0 calc(var(--s)*-.025) 0 0 rgba(140,200,255,.55)}
.v7 .liora[data-stare="trista"] .ochi::after{width:48%;height:44%;right:8%;top:8%}
.v7 .liora[data-stare="trista"] .ochi::before{opacity:1;width:24%;height:22%;left:18%;bottom:20%}
.v7 .liora[data-stare="trista"] .spr{opacity:1;top:22%;width:calc(var(--s)*.17)}
.v7 .liora[data-stare="trista"] .spr.s{left:23%;transform:rotate(-30deg) translate(8%,-10%)}.v7 .liora[data-stare="trista"] .spr.d{right:23%;transform:rotate(30deg) translate(-8%,-10%)}
.v7 .liora[data-stare="trista"] .gura{top:70%;width:calc(var(--s)*.15);height:calc(var(--s)*.055);border-top-width:calc(var(--s)*.03);border-bottom-width:0;border-radius:999px 999px 0 0;animation:tremura .5s ease-in-out infinite alternate}
.v7 .liora[data-stare="trista"] .lacrima{opacity:1;left:26%;top:56%;width:calc(var(--s)*.08);height:calc(var(--s)*.12);animation:curge 2.4s ease-in .2s infinite}
.v7 .liora[data-stare="trista"] .sfera{filter:saturate(.75) brightness(.95);transform:translateY(4px)}
.v7 .liora[data-stare="trista"] .fata{transform:translateY(5px);rotate:-5deg}
.v7 .liora[data-stare="trista"]{animation:none}
@keyframes tremura{from{transform:translateX(-50%) rotate(-2deg)}to{transform:translateX(-50%) rotate(2deg) translateY(4%)}}
@keyframes curge{0%{transform:translateY(0) scale(.8);opacity:0}15%{opacity:1}80%{opacity:1}100%{transform:translateY(calc(var(--s)*.22)) scale(1);opacity:0}}
/* bucurie (rezultatul găsit, lecția încheiată): ochi închiși de bucurie, obrajii îmbujorați, o mică săritură */
.v7 .liora[data-stare="bucurie"] .ochi{background:none;transform:none}.v7 .liora[data-stare="bucurie"] .ochi::after{display:none}
.v7 .liora[data-stare="bucurie"] .o{height:calc(var(--s)*.09);border:calc(var(--s)*.03) solid var(--ink);border-bottom:0;border-radius:999px 999px 0 0;top:40%;width:calc(var(--s)*.14)}
.v7 .liora[data-stare="bucurie"] .gura{width:calc(var(--s)*.24);height:calc(var(--s)*.12);background:#7a3a44;border-top-width:calc(var(--s)*.028);border-radius:20% 20% 999px 999px}
.v7 .liora[data-stare="bucurie"] .fata{border-radius:50%;background:radial-gradient(circle at 23% 63%,rgba(255,138,150,.5) 0 6%,transparent 11%),radial-gradient(circle at 77% 63%,rgba(255,138,150,.5) 0 6%,transparent 11%)}
.v7 .liora[data-stare="bucurie"] .sfera{animation:sar .7s cubic-bezier(.3,1.5,.5,1) 1}
@keyframes sar{40%{transform:translateY(-6px) scale(1.03,.97)}}

/* ---------- alegerile: fundal, lumină, tablă ---------- */
.v7 #setari{position:fixed;top:calc(var(--sus) + 62px);right:calc(var(--mx) + 14px);z-index:30;width:min(480px,calc(100vw - 32px));max-height:calc(100vh - var(--sus) - 80px);overflow:auto;padding:16px 18px 18px;border-radius:22px;
  background:rgba(22,24,34,.95);border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 60px -24px rgba(0,0,0,.7)}
.v7 #setari h3{margin:0 0 10px;font:650 var(--t4)/1 var(--ui);color:var(--text-2)}
.v7 .fundaluri{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px}
.v7 .fd{border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;gap:6px;font:600 12.5px/1.2 var(--ui);color:var(--text-2);text-align:left;min-height:44px}
.v7 .fd .mini{position:relative;height:72px;border-radius:11px;overflow:hidden;background:#15151b;border:1px solid rgba(255,255,255,.12)}
.v7 .fd .mini svg{position:absolute;inset:0;width:100%;height:100%}
.v7 .fd.on{color:var(--text)}.v7 .fd.on .mini{outline:1.5px solid color-mix(in oklab,var(--tinta) 55%,transparent);outline-offset:2px}   /* runda 9: conturul ales, mai discret */
.v7 .fd .mini[data-f="poza"]{display:grid;place-items:center;background:#1d1d24 center/cover}.v7 .fd .mini[data-f="poza"] span{font:700 22px/1 var(--ui);color:var(--text-2)}
.v7 .fd .mini[data-f="poza"].are span{display:none}
.v7 .nota-mica{margin:2px 0 14px;font:500 12px/1.4 var(--ui);color:var(--text-2)}
.v7 .lumini{display:flex;gap:12px;margin-bottom:16px}
.v7 .lum{border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font:600 12px/1 var(--ui);color:var(--text-2);min-width:44px;min-height:44px}
.v7 .lum i{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle,#fff 0 30%,var(--c) 75%);box-shadow:0 0 6px 1px color-mix(in oklab,var(--c) 25%,transparent)}   /* runda 9: lumina din jur mult mai mică (înainte 12 px, 60 %) */
.v7 .lum.on{color:var(--text)}.v7 .lum.on i{box-shadow:0 0 0 1.5px rgba(255,255,255,.55),0 0 6px 1px color-mix(in oklab,var(--c) 25%,transparent)}   /* aleasă: un inel fin, fără lumină (înainte: inel alb de 2 px + lumină de 16 px) */
.v7 .table2{display:flex;gap:12px}
.v7 .tb{border:0;background:none;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font:600 12px/1 var(--ui);color:var(--text-2)}
.v7 .tb .mini{width:120px;height:60px;border-radius:8px;position:relative;overflow:hidden;display:grid;place-items:center;font:500 18px/1 var(--ui)}
.v7 .tb[data-t="light"] .mini{background:linear-gradient(180deg,#f6f4ef,#f1eee8);color:#1d2a5a}.v7 .tb[data-t="dark"] .mini{background:linear-gradient(180deg,#23252b,#1c1e23);color:#f1f3fa}
.v7 .tb.on{color:var(--text)}.v7 .tb.on .mini{outline:1.5px solid color-mix(in oklab,var(--tinta) 55%,transparent);outline-offset:3px}   /* runda 9: conturul ales, mai discret */
/* runda 10 (punctul 2b): comutatoarele mutate din bara de sus — aceleași butoane (fond, culoare, text); doar un contur fin, ca să se vadă pe panoul închis */
.v7 #setari .table2 + h3{margin-top:16px}
.v7 #setari .comutatoare{display:flex;flex-wrap:wrap;gap:8px}
.v7 #setari .comutatoare button.ghost{min-height:36px;padding:4px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(14,16,24,.6);color:var(--text);font:600 var(--t4)/1 var(--ui)}

/* ---------- runda 9 (punctul 5): cuprinsul — panou ca „Fundal și lumină”, capitolele pliabile, lecțiile cu starea lor; se derulează în panou ---------- */
.v7 #cuprins{position:fixed;top:calc(var(--sus) + 62px);right:calc(var(--mx) + 14px);z-index:30;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - var(--sus) - 80px);display:flex;flex-direction:column;
  padding:16px 18px 12px;border-radius:22px;background:rgba(22,24,34,.95);border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 60px -24px rgba(0,0,0,.7)}
.v7 #cuprins h3{margin:4px 0 6px;font:650 var(--t4)/1 var(--ui);color:var(--text-2)}
.v7 .cp-tema{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;margin:0 0 12px;padding:8px 14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.06);
  color:var(--text);font:650 var(--t3)/1.2 var(--ui);text-align:left;cursor:pointer;flex:none}
.v7 .cp-tema:hover{background:rgba(255,255,255,.1);filter:none}
.v7 .cp-tema small{display:block;margin-top:3px;font:500 12px/1.3 var(--ui);color:var(--text-2)}
.v7 .cp-tema svg.i{color:color-mix(in oklab,var(--c-galben) 70%,white)}
/* runda 10: tot ce e sub „Tema din manual” se derulează împreună (lecțiile + secțiunea „Exersare și examen”); jos, „Ce am vorbit” și „Ajutor” */
.v7 .cp-corp{min-height:0;overflow:auto;scrollbar-width:thin;margin:0 -8px;padding:0 8px}
.v7 .cp-lista{margin:0}
.v7 #cuprins h3.cp-sectiune{margin:14px 0 6px}
.v7 .cp-mod>summary .pill{margin-left:4px;padding:1px 8px;font:600 11.5px/1.4 var(--ui)}
.v7 .cp-mod-corp{padding:0 2px 12px 18px}
.v7 .cp-mod-corp p{margin:0 0 8px;font:500 var(--t4)/1.45 var(--ui)}
.v7 .cp-mod-corp .row{gap:8px}
.v7 .cp-mod-corp input[type=text],.v7 .cp-mod-corp input[type=date],.v7 .cp-mod-corp select{min-height:40px;padding:6px 10px}
.v7 .cp-mod-corp #planEN{margin-top:6px}
.v7 .cp-jos{flex:none;display:flex;align-items:flex-start;gap:4px 10px;flex-wrap:wrap;margin-top:6px;padding-top:4px;border-top:1px solid rgba(255,255,255,.08)}
.v7 .cp-jos #istoricLoc{flex:1;min-width:0}
.v7 .cp-jos .discret{min-height:32px}
.v7 .cp-cap{border-top:1px solid rgba(255,255,255,.08)}
.v7 .cp-cap>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:46px;padding:6px 2px;cursor:pointer;color:var(--text);font:650 var(--t3)/1.25 var(--ui)}
.v7 .cp-cap>summary::-webkit-details-marker{display:none}
.v7 .cp-cap>summary::before{content:"";flex:none;width:7px;height:7px;margin:0 5px 0 3px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(-45deg);transition:transform .2s}
.v7 .cp-cap[open]>summary::before{transform:rotate(45deg)}
.v7 .cp-cap>summary .nr{margin-left:auto;flex:none;font:500 12px/1 var(--ui);color:var(--text-2)}
.v7 .cp-lectii{display:flex;flex-direction:column;gap:2px;padding:0 0 10px 18px}
.v7 .cp-lectie{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 10px;border:0;border-radius:12px;background:none;color:var(--text);font:500 var(--t4)/1.3 var(--ui);text-align:left;cursor:pointer}
.v7 .cp-lectie:hover{background:rgba(255,255,255,.06);filter:none}
.v7 .cp-lectie[aria-current="true"]{background:rgba(255,255,255,.08)}
.v7 .cp-lectie .t{flex:1;min-width:0}
.v7 .cp-lectie .st{flex:none;padding:3px 8px;border-radius:9px;font:600 11.5px/1.2 var(--ui);color:var(--text-2);background:rgba(255,255,255,.07)}
.v7 .cp-lectie[data-stare="promovata"] .st{color:#c4f2d3;background:rgba(134,227,166,.13)}
.v7 .cp-lectie[data-stare="inceputa"] .st{color:#ffe7a8;background:rgba(255,224,122,.11)}
.v7 .cp-lectie .st.acum{color:var(--text);background:color-mix(in oklab,var(--tinta) 22%,transparent)}
.v7 .cp-gol{padding:8px 2px 12px;font:500 var(--t4)/1.4 var(--ui);color:var(--text-2)}

/* ---------- runda 9 (punctul 4): poarta „Începem” (ca în prototipul v8): un singur gest care pornește sunetul; lecția apare în spate ---------- */
.v7 .poarta{position:fixed;inset:0;z-index:40;display:grid;place-items:center;transition:opacity .6s;pointer-events:none}   /* bara de sus (AI, ecran complet) rămâne la îndemână */
.v7 .poarta .card{pointer-events:auto}
.v7 .poarta.dus{opacity:0}.v7 .poarta.dus .card{pointer-events:none}
.v7 .poarta .card{width:min(760px,calc(100vw - 40px));padding:32px 36px 30px;border:0;border-radius:30px;background:var(--sticla);
  -webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.v7 .poarta .cap{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.v7 .poarta h1{margin:0;font:700 var(--t1)/1.05 var(--titlu);letter-spacing:-.02em}
.v7 .poarta p{margin:6px 0 0;color:var(--text-2);font:500 var(--t3)/1.45 var(--ui);max-width:520px}
/* runda 10 (punctul 2c): tabla și lumina ramei pe card, ca în prototipul v8 (stil-v7.css: .poarta .rand, .poarta h3) */
.v7 .poarta .rand{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:start}
.v7 .poarta h3{margin:0 0 10px;font:650 var(--t4)/1 var(--ui);color:var(--text-2)}
.v7 .poarta .porneste{margin-top:22px;display:flex;align-items:center;gap:16px}
.v7 .poarta .porneste small{color:var(--text-2);font:500 12.5px/1.4 var(--ui)}
.v7 .gel--start{min-height:54px;padding:0 30px;font:700 var(--t2)/1 var(--ui);border-radius:18px}
.v7 .panou{transition:opacity .6s ease,transform .6s ease}
body.v7.in-poarta .panou{opacity:0;transform:scale(.98);pointer-events:none}

/* ---------- ecrane înguste (tabletă în picioare): șinele devin rânduri sub tablă ---------- */
@media (max-width:980px){
  .v7 .panou{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(220px,1fr) auto auto auto;column-gap:0}
  .v7 .sina{grid-row:auto;grid-column:1;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px}
  .v7 .sina.st{grid-row:3;grid-column:1}.v7 .sina.dr{grid-row:4;grid-column:1}
  .v7 .gel--sina{width:auto;min-height:48px;flex-direction:row;padding:0 12px}
  .v7 .sus{grid-column:1}.v7 .zona{grid-column:1;grid-row:2}.v7 .jos{grid-column:1;grid-row:5}
  .v7 .liora{--s:64px}
}
@media (max-height:820px){.v7 .gel--sina{--s:54px;min-height:0;padding:0}.v7 .gel--sina.gel--rosu,.v7 .gel--sina.mic{--s:66px}.v7 .sina{gap:9px}.v7 .liora{--s:72px}.v7 #profesor{max-height:22vh}}
@media (prefers-reduced-motion:reduce){.v7 *,.v7 *::before,.v7 *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ---------- pagina părintelui (runda 8): același stil ca ecranul copilului — scena întunecată, carduri de sticlă sablată, butoanele-jeleu ---------- */
body.v7.parinte{overflow:auto;height:auto;max-width:600px;margin:0 auto;padding:12px 14px 48px}
.v7.parinte>*:not(.scena){position:relative;z-index:1}
.v7.parinte>.row:first-of-type{margin-bottom:6px}
.v7.parinte button.ghost{min-height:36px;padding:0 12px;border:0;border-radius:12px;color:var(--text);font:600 var(--t4)/1 var(--ui)}
.v7.parinte button.ghost:not(.gel){background:rgba(14,16,24,.6)}
.v7.parinte .card{border:0;border-radius:24px;padding:18px 18px 16px;margin-bottom:12px;
  background:radial-gradient(120% 70% at 50% 0%,rgba(255,255,255,.09),rgba(255,255,255,0) 60%),linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045)),rgba(26,28,40,.46);
  -webkit-backdrop-filter:blur(36px) saturate(130%) brightness(1.06);backdrop-filter:blur(36px) saturate(130%) brightness(1.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 0 30px rgba(255,255,255,.03),0 24px 48px -28px rgba(0,0,0,.7)}
.v7.parinte .card .card{border-radius:16px;padding:12px;margin:0;background:rgba(255,255,255,.06);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
.v7.parinte h1{margin:0 0 6px;font:700 1.75rem/1.1 var(--titlu);letter-spacing:-.02em}
.v7.parinte h2{margin:0 0 10px;font:700 1.1rem/1.2 var(--titlu);letter-spacing:-.01em}
.v7.parinte h3{font:700 1rem/1.25 var(--titlu)}
.v7.parinte p,.v7.parinte li{line-height:1.5}
.v7.parinte .mut,.v7.parinte .stare{color:var(--text-2)}
.v7.parinte .row{gap:8px}
/* câmpurile nu mai arată ca un formular: sticlă moale, fără chenar */
.v7.parinte input[type=text],.v7.parinte input[type=date],.v7.parinte select,.v7.parinte textarea{border:0;border-radius:14px;background:rgba(255,255,255,.08);color:var(--text);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.35);padding:10px 14px}
.v7.parinte input[type=text]:focus,.v7.parinte select:focus,.v7.parinte textarea:focus{outline:2px solid color-mix(in oklab,var(--tinta) 70%,white);outline-offset:1px}
.v7.parinte label{color:var(--text)}
.v7.parinte select{max-width:100%}
.v7.parinte input[type=checkbox]{width:20px;height:20px;accent-color:#86e3a6;vertical-align:-4px}
/* secțiunile pliate: un rând de titlu, ca un card care se deschide */
.v7.parinte details>summary{list-style:none;display:block;position:relative;padding:10px 30px 10px 0;min-height:44px;color:var(--text);font:600 1rem/1.35 var(--ui)}
.v7.parinte details>summary::-webkit-details-marker{display:none}
.v7.parinte details>summary::after{content:"";position:absolute;right:6px;top:16px;width:9px;height:9px;border-right:2px solid var(--text-2);border-bottom:2px solid var(--text-2);transform:rotate(45deg);transition:transform .25s}
.v7.parinte details[open]>summary::after{transform:rotate(-135deg)}
.v7.parinte table td,.v7.parinte table th{border-bottom:1px solid rgba(255,255,255,.08)}
.v7.parinte .pill{background:rgba(255,255,255,.1);border:0}
.v7.parinte .banner{border:0;border-radius:18px;background:rgba(255,224,122,.12)}
.v7.parinte #linkbox{padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.07);font:500 .9rem/1.4 var(--ui);overflow-wrap:anywhere}
.v7.parinte button.primary{--b:oklch(.74 .188 150);--bl:oklch(.95 .05 150);--bd:oklch(.36 .113 150)}   /* runda 9: verdele și roșul butoanelor-jeleu (× 1,25) */
.v7.parinte button.bad{--b:oklch(.72 .20 22);--bl:oklch(.95 .038 22);--bd:oklch(.40 .163 22)}
.v7.parinte .bad{color:#ffb3ad}.v7.parinte .ok{color:var(--ok)}.v7.parinte .warn{color:var(--warn)}
.v7.parinte a{color:#cfe2ff}
/* butoanele limpezi de pe cardurile luminoase (pornirea, părintele): puțin mai închise sub etichetă (≥ 4,5 : 1); la fel comutatoarele de sus ale părintelui */
.v7 #start button:not(.ghost):not(.discret):not(.primary),.v7 #blocat button,.v7.parinte button:not(.ghost):not(.discret):not(.primary):not(.bad):not(.gel),.v7.parinte button.ghost.gel--clar{background:radial-gradient(78% 42% at 50% 104%,color-mix(in oklab,var(--b) 30%,transparent) 0%,transparent 72%),radial-gradient(115% 88% at 30% 8%,rgba(255,255,255,.1) 0%,rgba(255,255,255,0) 50%),
    radial-gradient(150% 125% at 50% 22%,color-mix(in oklab,color-mix(in oklab,var(--b) 60%,white) var(--a1),transparent) 0%,color-mix(in oklab,var(--b) var(--a2),transparent) 50%,color-mix(in oklab,color-mix(in oklab,var(--b) 66%,var(--bd)) var(--a3),transparent) 100%),
    linear-gradient(rgba(12,14,22,.64),rgba(12,14,22,.64))}
.v7 #start button:not(.ghost):not(.discret):not(.primary)::after,.v7 #blocat button::after,.v7.parinte button:not(.ghost):not(.discret):not(.primary):not(.bad):not(.gel)::after,.v7.parinte button.ghost.gel--clar::after{opacity:0}
/* runda 8 (7): pe pagina părintelui, butoanele colorate (jeleu) au corpul puțin mai plin și eticheta mai închisă (≥ 4,5 : 1 și pe roșu) */
.v7.parinte .gel:not(.gel--clar):not(.gel--sina){--a1:90%;--a2:82%;--a3:88%;color:color-mix(in oklab,var(--bd) 62%,black)}
