/* aplicatie.css — stiluri proprii lecției „Laboratorul comparațiilor” (doar variabile de culoare). */

/* ---------- planșele desenate: fundal de card, ca să fie lizibile în toate stilurile ---------- */
.plate .lc-cov,.plate .lc-s1,.plate .lc-lant,.plate .lc-tab,.plate .lc-mt,.plate .lc-rig,.plate .lc-vase,.plate .lc-semne,.plate .lc-live{
  background:var(--card);color:var(--ink);border-radius:12px;padding:12px;font-weight:800}
.plate svg{display:block;width:100%;height:auto;font-family:var(--f-body);font-weight:800}

/* ---------- balanța SVG: brațul se rotește în jurul axului, talerele coboară / urcă ---------- */
.lc-baza,.lc-stalp{fill:var(--muted)}
.lc-brat rect{fill:var(--ink)}
.lc-brat .lc-ac{fill:var(--berry)}
.lc-brat{transform-box:view-box;transform-origin:200px 59px;transform:rotate(var(--a,0deg));transition:transform .9s cubic-bezier(.3,1.4,.5,1)}
.lc-piv{fill:var(--sun);stroke:var(--sun-edge);stroke-width:4}
.lc-tal{transform:translateY(var(--d,0px));transition:transform .9s cubic-bezier(.3,1.4,.5,1)}
.lc-sf{stroke:var(--muted);stroke-width:2.5}
.lc-pan{fill:var(--sun);stroke:var(--sun-edge);stroke-width:3}
.lc-em{dominant-baseline:auto}
.lc-et{fill:var(--ink);font-size:16px;font-weight:800}
.lc-tare{font-weight:900;font-size:17px}
.lc-cap{margin:6px 0 0;text-align:center;font-size:calc(17px * var(--fs));line-height:1.3;min-height:2.6em;color:var(--ink)}
.lc-cap b{color:var(--berry)}

/* stația 5: două cântăriri → concluzia */
.lc-l2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lc-l2>div{display:flex;flex-direction:column;align-items:center;gap:2px}
.lc-l2 b{font-size:calc(20px * var(--fs))}
.lc-l2 .lc-et{font-size:20px}
.lc-concl{margin:10px 0 0;text-align:center;font-size:calc(26px * var(--fs))}
.lc-concl span{color:var(--muted);font-size:.7em}
.lc-concl b{background:var(--leaf-tint);color:var(--leaf-deep);border:2px solid var(--leaf);border-radius:12px;padding:2px 14px}
.lc-mic{margin:8px 0 0;text-align:center;color:var(--muted);font-size:calc(14px * var(--fs))}

/* stația 2: tabelul mărimilor */
.lc-tab{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lc-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;text-align:center;border-radius:12px;padding:12px 6px;border:2px solid}
.lc-col.c1{background:var(--sun-tint);border-color:var(--sun-edge)}
.lc-col.c2{background:var(--sky-tint);border-color:var(--sky)}
.lc-col.c3{background:var(--leaf-tint);border-color:var(--leaf)}
.lc-ic{font-size:calc(40px * var(--fs));line-height:1.1}
.lc-col b{font-size:calc(19px * var(--fs))}
.lc-col small{font-weight:700;color:var(--muted);font-size:calc(13px * var(--fs));min-height:2.6em}
.lc-u{font-family:var(--f-display);font-size:calc(24px * var(--fs));background:var(--card);border-radius:10px;padding:0 10px;color:var(--ink)}

/* stația 3: metrul */
.lc-m1{fill:var(--sun)} .lc-m2{fill:var(--sun-tint);stroke:var(--sun-edge);stroke-width:1}
.lc-tick{stroke:var(--ink);stroke-width:2}
.lc-sag{stroke:var(--berry);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* stația 6: rigla cu personaje; ceasul (js) aprinde câte unul; fără animații se văd toate */
.lc-rg{fill:var(--sun-tint);stroke:var(--sun-edge);stroke-width:2}
.lc-rgn{fill:var(--muted);font-size:13px}
.lc-sol{stroke:var(--line);stroke-width:4}
.lc-niv{stroke:var(--berry);stroke-width:2;stroke-dasharray:5 4;transition:opacity .4s}
.lc-om{transition:opacity .4s}
.lc-om.lc-c1{fill:var(--sky)} .lc-om.lc-c2{fill:var(--berry)} .lc-om.lc-c3{fill:var(--leaf)} .lc-om.lc-c4{fill:var(--sun-edge)}
.lc-hl{transition:opacity .4s}
.lc-rig.anim .lc-pers:not(.on) .lc-niv,.lc-rig.anim .lc-pers:not(.on) .lc-hl{opacity:0}
.lc-rig.anim .lc-pers:not(.on) .lc-om{opacity:.5}

/* stația 8 și laboratorul 9: vasele cu lichid */
.lc-vas{stroke:var(--ink);stroke-width:4;fill:none;stroke-linejoin:round;stroke-linecap:round}
.lc-lic{fill:var(--sky);opacity:.8;transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(var(--f,1));transition:transform .35s ease-out}
.lc-v8 .lc-lic.lc-anim{animation:9s ease-in-out infinite both}
.lc-v8[style*="--i:0"] .lc-anim{animation-name:lc-u0}
.lc-v8[style*="--i:1"] .lc-anim{animation-name:lc-u1}
.lc-v8[style*="--i:2"] .lc-anim{animation-name:lc-u2}
.lc-v8[style*="--i:3"] .lc-anim{animation-name:lc-u3}
@keyframes lc-u0{0%{transform:scaleY(0)}14%,88%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes lc-u1{0%,14%{transform:scaleY(0)}30%,88%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes lc-u2{0%,30%{transform:scaleY(0)}48%,88%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}
@keyframes lc-u3{0%,48%{transform:scaleY(0)}68%,88%{transform:scaleY(1)}96%,100%{transform:scaleY(0)}}

/* stația 10: exemple de semne */
.lc-semne p{display:flex;align-items:center;justify-content:center;gap:14px;margin:10px 0;font-size:calc(28px * var(--fs))}
.lc-semne p span{min-width:4.2em;text-align:center;background:var(--sun-tint);border-radius:10px;padding:2px 10px}
.lc-semne b{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:50%;font-family:var(--f-display);color:var(--on-leaf);background:var(--leaf)}
.lc-semne b.m{background:var(--sky)} .lc-semne b.e{background:var(--berry)}

/* completează: loc între frază și variante */
.task .fraza{margin-bottom:12px;line-height:1.45}

/* ---------- mesajul laboratoarelor ---------- */
.lc-msg{min-height:1.4em;margin:8px 0 0;font-weight:800;font-size:calc(15px * var(--fs));line-height:1.35;color:var(--muted)}
.lc-msg.bine{color:var(--leaf-deep)} .lc-msg.rau{color:var(--berry)}

/* ---------- laborator: balanța ---------- */
.lb-top,.lv-top,.ls-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-weight:800;color:var(--muted);font-size:calc(14px * var(--fs))}
.lb-top b{color:var(--ink)}
.lb-obj{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:8px 0}
.lb-o{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:calc(104px * var(--fs));min-height:calc(72px * var(--fs));padding:4px 8px;
  background:var(--card);color:var(--ink);border:3px solid var(--line);border-radius:16px;box-shadow:0 5px 0 var(--line);font-weight:800;cursor:pointer}
.lb-o:hover{transform:translateY(-2px)}
.lb-e{font-size:calc(28px * var(--fs));line-height:1}
.lb-n{font-size:calc(14px * var(--fs));line-height:1.1}
.lb-kg:empty{display:none}
.lb-kg{font-size:calc(14px * var(--fs));background:var(--leaf-tint);color:var(--leaf-deep);border-radius:99px;padding:0 8px}
.lb-o.pe-st{border-color:var(--sky);background:var(--sky-tint);box-shadow:0 5px 0 var(--sky)}
.lb-o.pe-dr{border-color:var(--berry);background:var(--berry-tint);box-shadow:0 5px 0 var(--berry)}
.lb-o.pe-st .lb-n::before{content:"◀ "}
.lb-o.pe-dr .lb-n::after{content:" ▶"}
.lb-log{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:calc(34px * var(--fs));padding:4px 0;font-weight:800}
.lb-gol,.lb-et{color:var(--muted);font-size:calc(14px * var(--fs));font-weight:800}
.lb-rel{background:var(--sun-tint);border:2px solid var(--sun-edge);border-radius:99px;padding:0 10px;font-size:calc(18px * var(--fs));animation:lc-pop .35s ease-out}
.lb-rasp{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}
.lb-rasp .chip{min-height:calc(48px * var(--fs));min-width:calc(56px * var(--fs));border-width:3px;box-shadow:0 4px 0 var(--line);cursor:pointer}
.lb-r{font-size:calc(26px * var(--fs))}
.lv-r{font-size:calc(16px * var(--fs))}
.lb-rasp .chip.ales{background:var(--berry);border-color:var(--berry);color:var(--card);box-shadow:0 4px 0 var(--ink);transform:translateY(-2px)}
.lb-act,.ls-act,.lv-act{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:2px dashed var(--line)}
.lb-act .verif,.ls-act .verif,.lv-act .verif{margin-left:auto}
.lb-act .btn:disabled,.ls-act .btn:disabled,.lv-act .btn:disabled,.lv-t:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}

/* ---------- laborator: șirul ---------- */
.ls-pool{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;min-height:calc(64px * var(--fs));margin:8px 0;padding:6px;border-radius:14px;background:var(--paper)}
.ls-gol{align-self:center;color:var(--muted);font-weight:800;font-size:calc(14px * var(--fs))}
.ls-c{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:calc(84px * var(--fs));min-height:calc(56px * var(--fs));padding:4px 8px;
  background:var(--card);color:var(--ink);border:3px solid var(--stripe);border-radius:14px;box-shadow:0 4px 0 var(--stripe);font-weight:800;cursor:grab;touch-action:none;user-select:none}
.ls-c.ales{background:var(--berry);border-color:var(--berry);color:var(--card);box-shadow:0 4px 0 var(--ink);transform:translateY(-3px)}
.ls-c.ls-tras{opacity:.35}
.ls-fantoma{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%) rotate(-3deg);opacity:.92}
.ls-e{font-size:calc(24px * var(--fs));line-height:1}
.ls-n{font-size:calc(14px * var(--fs));line-height:1.1}
.ls-sw{display:block;width:40px;height:12px;border-radius:6px;border:2px solid var(--ink)}
.ls-sw.cutie{width:26px;height:22px;border-radius:4px}
.s-r{background:var(--berry)} .s-v{background:var(--leaf)} .s-a{background:var(--sky)} .s-g{background:var(--sun)}
.ls-capete{display:flex;justify-content:space-between;gap:8px;font-weight:800;color:var(--muted);font-size:calc(13px * var(--fs))}
.ls-slots{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;margin-top:4px}
.ls-slot{position:relative;display:flex;align-items:center;justify-content:center;min-height:calc(72px * var(--fs));padding:4px;border:3px dashed var(--line);border-radius:14px;background:var(--card);cursor:pointer}
.ls-slot .ls-c{min-width:0;width:100%}
.ls-slot.tinta{border-color:var(--sky);background:var(--sky-tint)}
.ls-slot.peste{border-color:var(--berry);border-style:solid;background:var(--berry-tint)}
.ls-slot.plin{border-style:solid;border-color:var(--sky)}
.ls-slot.bun{border-color:var(--leaf);background:var(--leaf-tint)}
.ls-nr{font-family:var(--f-display);font-size:calc(22px * var(--fs));color:var(--muted)}
/* planșa șirului: indiciile, apoi măsurătorile */
.ls-ind b,.ls-rev>b{display:block;font-size:calc(16px * var(--fs));color:var(--muted);margin-bottom:4px}
.ls-ind ol{margin:0;padding-left:1.4em;display:grid;gap:6px}
.ls-ind li{font-size:calc(18px * var(--fs));line-height:1.3;padding:4px 8px;border-radius:10px;background:var(--sun-tint)}
.ls-ind li.rau{background:var(--berry-tint);outline:3px solid var(--berry)}
.ls-rev{margin-top:12px}
.ls-rev:empty{display:none}
.ls-bar{display:grid;grid-template-columns:5.5em 1fr 4.2em;align-items:center;gap:8px;margin:5px 0;font-size:calc(15px * var(--fs))}
.ls-bt{height:18px;border-radius:9px;background:var(--paper);overflow:hidden}
.ls-bt i{display:block;height:100%;border-radius:9px;background:var(--leaf);animation:lc-creste .7s ease-out both;transform-origin:left}
.ls-bv{text-align:right}
@keyframes lc-creste{from{transform:scaleX(0)}to{transform:none}}

/* ---------- laborator: vasele ---------- */
.lv-q{color:var(--ink);font-size:calc(16px * var(--fs))}
.lv-tor{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:10px 0}
.lv-t{flex:1 1 0;min-width:calc(120px * var(--fs));font-size:calc(15px * var(--fs))}

/* ---------- laborator: antrenament rapid ---------- */
.an-top{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--muted);font-size:calc(14px * var(--fs))}
.an-bar{flex:1;height:10px;background:var(--line);border-radius:99px;overflow:hidden}
.an-bar i{display:block;height:100%;background:var(--leaf);transition:width .4s}
.an-serie.aprinsa{color:var(--berry);animation:lc-pop .4s ease-out}
.an-q{font-size:calc(22px * var(--fs));font-weight:800;margin:12px 0;color:var(--ink);text-align:center;line-height:1.35}
.an-q.mare{font-size:calc(32px * var(--fs))}
.an-q .gol{display:inline-flex;align-items:center;justify-content:center;min-width:1.6em;height:1.4em;border:3px dashed var(--leaf);border-radius:10px;color:var(--muted)}
.an-q .gol.plin{border-style:solid;color:var(--leaf-deep);background:var(--leaf-tint);animation:lc-pop .35s}
.lc-ind{display:block;font-size:calc(17px * var(--fs));color:var(--muted);margin-bottom:6px}
.an-var{justify-content:center}
.an-var .chip{font-size:calc(18px * var(--fs));min-width:5.5em;min-height:calc(48px * var(--fs));border-width:3px;box-shadow:0 4px 0 var(--line)}
.an-var.semne .chip{font-size:calc(30px * var(--fs));min-width:2.6em;font-family:var(--f-display)}
.an-msg{min-height:1.5em;margin:8px 0 0;text-align:center;font-weight:800}
.an-msg.bine{color:var(--leaf-deep)} .an-msg.rau{color:var(--berry)}
.an-final{text-align:center}
.an-scor{font-family:var(--f-display);font-size:calc(54px * var(--fs));color:var(--leaf-deep);animation:lc-pop .5s}
@keyframes lc-pop{0%{transform:scale(.6)}70%{transform:scale(1.12)}100%{transform:none}}

/* pe telefon, desenul laboratorului stă deasupra comenzilor */
html.flow .lesson .work:has(.lc-live,.lc-s1,.lc-rig){order:-1}

/* mișcare redusă (sistem): vasele rămân pline, fără animații decorative; coperta și rigla sunt oprite din js/aplicatie.js */
@media (prefers-reduced-motion: reduce){
  .lc-v8 .lc-lic.lc-anim,.lb-rel,.ls-bt i,.an-q .gol,.an-scor,.an-serie{animation:none!important}
  .lc-brat,.lc-tal,.lc-lic{transition:none!important}
}

/* Butonul „Verifică” din bara de jos este ascuns; verificarea se deschide din cuprins sau după ultima stație. */
.bottom #checkBtn{display:none!important}

/* ===== aliniere comună (lecțiile refăcute): fără suprapuneri de butoane și text ===== */
/* plasă de siguranță: dacă o stație e mai înaltă decât scena, se derulează în interior, nu intră sub bara de jos */
html:not(.flow) .view.on{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}
/* ordonare: toate cartonașele pe un rând, loc pentru bulina cu numărul, textul rămâne în cartonaș */
.task .order{grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-template-columns:none;gap:10px;margin-top:16px}
.task .order .ocard{min-width:0;padding:10px 6px 8px;overflow-wrap:anywhere;hyphens:auto}
.task .order .oc-emoji{font-size:2.1em;line-height:1.1}
.task .order .ocard .lab{font-size:calc(14px * var(--fs));line-height:1.2}
.task .order .ocard .more{font-size:calc(12px * var(--fs));line-height:1.2;color:var(--muted)}
.task .order .ocard .badge{top:-14px;left:-8px}
html.flow .task .order{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
/* perechi: bulina cu numărul stă pe același rând cu textul, deci butonul nu crește după rezolvare */
.perechi .chip{display:flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}
.perechi .chip[data-p]::after{flex:0 0 22px}
/* rânduri de butoane: se rup pe rândul următor în loc să se calce */
.grp,.chips,.actions{flex-wrap:wrap;row-gap:10px}
.chip,.btn{max-width:100%}
.btn{white-space:normal}
