:root{
  --bg:#EEF8F1; --surface:#FFFFFF; --ink:#12332A; --muted:#5A7568; --line:#D3EADB; --soft:#E1F4E8;
  --jungle:#0E6B4F; --leaf:#22A55B; --lime:#8BD346; --teal:#12B5A6; --sky:#1F8CC9; --sun:#FFC23D; --mango:#FF8A3D; --berry:#E0457B;
  --ok:#22A55B; --ok-soft:#E1F6E8; --bad:#E0453B; --bad-soft:#FDE8E6;
  --r:18px;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
body{margin:0;color:var(--ink);font-family:"Lexend",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;
  background:
    radial-gradient(1200px 500px at 0% -10%,rgba(255,194,61,.22),transparent 60%),
    radial-gradient(900px 600px at 100% 10%,rgba(18,181,166,.16),transparent 60%),
    radial-gradient(900px 700px at 20% 100%,rgba(139,211,70,.18),transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' fill='none' stroke='%230E6B4F' stroke-opacity='.08' stroke-width='1.2'%3E%3Cpath d='M0 40H50L70 60H110L130 40H180'/%3E%3Cpath d='M100 0V20L85 35V90'/%3E%3Cpath d='M0 140H40L55 125H95'/%3E%3Cpath d='M150 180V150L165 135V100'/%3E%3Cpath d='M20 180V165'/%3E%3Cpath d='M20 0V15'/%3E%3Ccircle cx='85' cy='92' r='3'/%3E%3Ccircle cx='97' cy='125' r='3'/%3E%3Ccircle cx='165' cy='98' r='3'/%3E%3Ccircle cx='20' cy='17' r='2.5'/%3E%3Ccircle cx='20' cy='163' r='2.5'/%3E%3Crect x='118' y='78' width='18' height='12' rx='2'/%3E%3C/svg%3E"),
    var(--bg);
  background-attachment:fixed}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--jungle)}
img{max-width:100%}
:focus-visible{outline:3px solid color-mix(in srgb,var(--teal) 70%,transparent);outline-offset:2px;border-radius:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted{color:var(--muted)}

/* ---------- bara de sus ---------- */
.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,#fff 82%,transparent);backdrop-filter:blur(10px);
  padding-top:env(safe-area-inset-top,0px);margin-top:calc(-1 * env(safe-area-inset-top,0px))}
.top::after{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--jungle),var(--leaf),var(--lime),var(--sun),var(--mango),var(--teal),var(--sky))}
.top-in{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand img{width:40px;height:40px}
.brand b{font-weight:600;font-size:17px;line-height:1.1;display:block}
.brand small{font-size:12px;color:var(--muted);display:block}
.nav{display:flex;gap:4px}
.nav a{text-decoration:none;color:var(--muted);padding:8px 12px;border-radius:12px;font-size:15px;font-weight:500;white-space:nowrap}
.nav a[aria-current="page"]{background:var(--soft);color:var(--jungle)}
.stat{display:flex;align-items:center;gap:5px;font-weight:600;font-size:15px;padding:6px 10px;border-radius:12px;background:var(--surface);border:2px solid var(--line)}
.stat svg{width:18px;height:18px}
.stat.xp svg{color:var(--sun)} .stat.fire svg{color:var(--mango)}
@media (max-width:640px){.brand span,.stat.fire,.nav-ext{display:none}.top-in{gap:8px;padding:8px 12px}.nav a{padding:7px 8px;font-size:14px}}

main{max-width:1000px;margin:0 auto;padding:0 18px 80px}
.page{max-width:720px;margin:0 auto}
footer{max-width:1000px;margin:0 auto;padding:24px 18px calc(28px + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:14px;
  display:flex;gap:16px;flex-wrap:wrap;justify-content:center;border-top:2px solid var(--line)}
footer a{color:var(--muted)}

/* ---------- butoane ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:16px;padding:14px 26px;font-weight:600;font-size:17px;
  background:var(--leaf);color:#fff;box-shadow:0 5px 0 var(--jungle);transition:transform .08s,box-shadow .08s;text-decoration:none}
.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--jungle)}
.btn[disabled]{background:#C4D6CB;box-shadow:0 5px 0 #A9BFB2;cursor:not-allowed}
.btn.ghost{background:var(--surface);color:var(--jungle);box-shadow:0 5px 0 var(--line);border:2px solid var(--line)}
.btn.ok{background:var(--ok);box-shadow:0 5px 0 var(--jungle)}
.btn.bad{background:var(--bad);box-shadow:0 5px 0 #A92F28}
.btn.small{padding:9px 16px;font-size:15px;border-radius:12px}
.btn.wide{width:100%}
.link{background:none;border:0;color:var(--muted);text-decoration:underline;padding:8px}
.link.small{font-size:14px;padding:4px 0}

/* ---------- start ---------- */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:52px 0 16px}
.hero h1{font-size:clamp(34px,5.2vw,56px);line-height:1.06;letter-spacing:-.02em;margin:0 0 18px;font-weight:600;color:var(--jungle)}
.hero p{font-size:19px;color:var(--muted);margin:0 0 28px;max-width:36ch}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-art{position:relative;aspect-ratio:1;max-width:400px;justify-self:center;width:100%;margin:10px 0}
.hero-art img{position:absolute;inset:18%;width:64%;height:64%}
.hero-art .ring{position:absolute;inset:0;border-radius:50%;border:3px dashed color-mix(in srgb,var(--leaf) 45%,transparent)}
.orb{position:absolute;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 5px 0 rgba(0,0,0,.14)}
.orb svg{width:28px;height:28px}
.crew{display:flex;align-items:flex-end;gap:4px;flex-wrap:wrap;background:var(--surface);border:2px solid var(--line);border-radius:22px;padding:14px 20px 12px;margin:10px 0 26px}
.crew-av{width:46px;display:block}
.crew p{margin:0 0 8px 14px;color:var(--muted);font-size:15px;flex:1;min-width:200px}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 48px}
.fact{background:var(--surface);border:2px solid var(--line);border-radius:var(--r);padding:18px}
.fact b{display:block;font-size:26px;color:var(--leaf);font-weight:600}
.fact:nth-child(2) b{color:var(--teal)} .fact:nth-child(3) b{color:var(--mango)}
.fact span{color:var(--muted);font-size:15px}
.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.mod-card{display:flex;gap:14px;align-items:center;background:var(--surface);border:2px solid var(--line);border-radius:var(--r);padding:14px}
.mod-card i{flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;background:var(--mc);box-shadow:0 4px 0 color-mix(in srgb,var(--mc) 65%,#000)}
.mod-card i svg{width:24px;height:24px}
.mod-card small{display:block;font-size:12px;color:var(--mc);font-weight:600}
.mod-card b{display:block;font-weight:600;font-size:16px;line-height:1.3}
.mod-card span{font-size:14px;color:var(--muted)}
h2.sec{font-size:26px;margin:0 0 16px;color:var(--jungle);font-weight:600}
@media (max-width:760px){.hero{grid-template-columns:1fr;padding:24px 0 12px;gap:12px}.hero-art{max-width:230px;order:-1;margin:36px 0 40px}.facts{grid-template-columns:1fr}.crew-av{width:40px}}

/* ---------- chestionar ---------- */
.survey{max-width:620px;margin:32px auto}
.survey .step-count{color:var(--muted);font-size:15px;margin-bottom:6px}
.survey h2{font-size:26px;margin:0 0 6px;font-weight:600}
.survey .why{color:var(--muted);margin:0 0 22px;font-size:15px}
.bar{height:14px;background:var(--line);border-radius:99px;overflow:hidden}
.bar>div{height:100%;background:linear-gradient(90deg,var(--leaf),var(--lime));border-radius:99px;transition:width .35s ease}
.choices{display:grid;gap:10px;margin:18px 0 26px}
.choice{text-align:left;background:var(--surface);border:2px solid var(--line);border-bottom-width:5px;border-radius:16px;padding:14px 16px;font-size:17px;display:flex;gap:12px;align-items:center}
.choice:hover{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}
.choice.sel{border-color:var(--teal);background:#E3F7F4;color:var(--jungle)}
.choice .k{flex:none;width:28px;height:28px;border-radius:9px;border:2px solid var(--line);display:grid;place-items:center;font-size:13px;color:var(--muted);font-weight:600}
.choice.sel .k{border-color:var(--teal);color:var(--teal)}
.choices.two{grid-template-columns:1fr 1fr}
@media (max-width:520px){.choices.two{grid-template-columns:1fr}}

/* ---------- alegerea ghidului ---------- */
.picker{max-width:760px;margin:30px auto;text-align:center}
.picker h1{font-size:32px;color:var(--jungle);margin:0 0 6px;font-weight:600}
.picker>p{color:var(--muted);margin:0 0 22px}
.av-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}
.av-card{background:var(--surface);border:2px solid var(--line);border-bottom-width:5px;border-radius:20px;padding:16px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:4px}
.av-card:hover{border-color:color-mix(in srgb,var(--leaf) 40%,var(--line))}
.av-card.sel{border-color:var(--leaf);background:var(--ok-soft)}
.av-fig{width:84px;display:block}
.av-card b{font-size:18px;margin-top:4px}
.av-card small{font-size:13px;color:var(--muted);line-height:1.35}
@media (max-width:560px){.av-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- avatar: animații ---------- */
.av{display:block;width:100%;height:auto;overflow:visible}
.av .leg,.av .arm{transform-box:fill-box;transform-origin:50% 0}
.walking .leg-l{animation:swing .42s ease-in-out infinite alternate}
.walking .leg-r{animation:swing .42s ease-in-out infinite alternate-reverse}
.walking .arm-l{animation:swing .42s ease-in-out infinite alternate-reverse}
.walking .arm-r{animation:swing .42s ease-in-out infinite alternate}
.walking .av-body{animation:bob .21s ease-in-out infinite alternate}
.idle .av-body{animation:breathe 3.2s ease-in-out infinite;transform-origin:50% 100%}
.cheer .av-body{animation:jump .55s ease-out 3}
.cheer .arm{animation:wave .55s ease-in-out 3}
@keyframes swing{from{transform:rotate(20deg)}to{transform:rotate(-20deg)}}
@keyframes bob{to{transform:translateY(-2px)}}
@keyframes breathe{50%{transform:scaleY(1.018)}}
@keyframes jump{40%{transform:translateY(-10px)}}
@keyframes wave{50%{transform:rotate(150deg)}}
.crew-av:nth-child(odd) .av-body{animation-delay:-1.2s}

/* ---------- hartă ---------- */
.map-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin:28px 0 0;flex-wrap:wrap}
.map-head h1{margin:0;font-size:30px;font-weight:600;color:var(--jungle)}
.map-head p{margin:4px 0 0;color:var(--muted)}
.overall{min-width:230px}
.overall small{color:var(--muted);font-size:14px}
.overall .bar{margin-top:6px}
.path{position:relative;max-width:580px;margin:0 auto;padding-bottom:10px}
.trail{position:absolute;left:0;top:0;pointer-events:none;z-index:0}
.trail .t-base{fill:none;stroke:#CDB47A;stroke-width:16;stroke-linecap:round;stroke-dasharray:1 22;opacity:.9}
.trail .t-done{fill:none;stroke:var(--lime);stroke-width:14;stroke-linecap:round;stroke-dasharray:1 22}
.unit{position:relative;margin:34px 0 8px;z-index:1}
.deco{position:absolute;top:80px;width:130px;pointer-events:none;opacity:.9}
.deco-l{left:-150px} .deco-r{right:-150px;top:230px;transform:scaleX(-1)}
.unit.locked .deco{opacity:.35;filter:saturate(.4)}
@media (max-width:900px){.deco{display:none}}
.unit-banner{position:relative;z-index:2;background:var(--mc);color:#fff;border-radius:20px;padding:16px 18px;display:flex;gap:14px;align-items:center;box-shadow:0 6px 0 color-mix(in srgb,var(--mc) 62%,#000)}
.unit-banner i{flex:none;width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.2);display:grid;place-items:center}
.unit-banner i svg{width:26px;height:26px}
.unit-banner .t{flex:1;min-width:0}
.unit-banner small{opacity:.9;font-size:13px;display:block}
.unit-banner b{font-size:19px;font-weight:600;display:block;line-height:1.25}
.unit-banner .p{font-size:14px;font-weight:600;background:rgba(255,255,255,.22);padding:4px 10px;border-radius:99px;white-space:nowrap}
.unit.locked .unit-banner{filter:saturate(.3) brightness(1.12)}
.nodes{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:22px;padding:34px 0 6px}
.node-wrap{position:relative;display:flex;flex-direction:column;align-items:center;transform:translateX(var(--x,0))}
.node{width:80px;height:80px;border-radius:50%;border:0;display:grid;place-items:center;position:relative;
  background:var(--mc);color:#fff;box-shadow:0 7px 0 color-mix(in srgb,var(--mc) 60%,#000);transition:transform .08s,box-shadow .08s}
.node:active{transform:translateY(5px);box-shadow:0 2px 0 color-mix(in srgb,var(--mc) 60%,#000)}
.node svg{width:34px;height:34px}
.node.locked{background:#D2E0D7;color:#94AC9E;box-shadow:0 7px 0 #B5C9BC}
.node.done{background:var(--sun);box-shadow:0 7px 0 #C98E1E}
.node.gold{background:var(--sun);box-shadow:0 7px 0 #C98E1E}
.node-label{margin-top:12px;font-size:14px;font-weight:500;text-align:center;max-width:170px;line-height:1.3;color:var(--ink);background:color-mix(in srgb,var(--bg) 85%,transparent);border-radius:8px;padding:0 6px}
.node-wrap.locked .node-label{color:var(--muted)}
.node-wrap.current{margin-top:48px}
.node-wrap.current .node::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:4px solid var(--mc);opacity:.4;animation:ping 1.6s ease-out infinite}
.start-tip{position:absolute;bottom:calc(100% + 10px);background:var(--surface);border:2px solid var(--line);color:var(--mc);font-weight:600;
  padding:6px 14px;border-radius:12px;font-size:15px;white-space:nowrap;animation:tip 1.8s ease-in-out infinite}
.start-tip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:8px solid transparent;border-top-color:var(--line)}
@keyframes ping{from{transform:scale(1);opacity:.5}to{transform:scale(1.3);opacity:0}}
@keyframes tip{50%{transform:translateY(-5px)}}
.trophy{position:relative;z-index:1;margin:44px auto 10px;text-align:center;display:flex;flex-direction:column;align-items:center}
.trophy .node{width:100px;height:100px}
.trophy .node-label{max-width:none}
.map-av{position:absolute;left:0;top:0;width:54px;z-index:4;transition:transform 1.6s cubic-bezier(.45,.05,.4,1);pointer-events:none;filter:drop-shadow(0 4px 2px rgba(14,107,79,.18))}
.map-av.face-left .av{transform:scaleX(-1)}
@media (prefers-reduced-motion:reduce){.node-wrap.current .node::after,.start-tip,.idle .av-body,.walking *,.cheer *{animation:none!important}.map-av{transition:none}}

/* ---------- lecția ---------- */
.lesson{position:fixed;inset:0;z-index:50;background:var(--surface);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}
.l-top{display:flex;align-items:center;gap:14px;max-width:760px;width:100%;margin:0 auto;padding:14px 18px 6px}
.l-top .bar{flex:1;height:16px}
.l-top .bar>div{background:linear-gradient(90deg,var(--mc,var(--leaf)),var(--lime))}
.phases{display:flex;gap:6px;max-width:760px;width:100%;margin:0 auto;padding:4px 18px 8px;justify-content:center}
.phases span{font-size:13px;font-weight:600;color:var(--muted);padding:3px 12px;border-radius:99px;background:var(--bg)}
.phases span.now{background:var(--mc,var(--leaf));color:#fff}
.phases span.past{color:var(--leaf)}
.x{border:0;background:none;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--muted)}
.x svg{width:24px;height:24px}
.l-body{flex:1;overflow-y:auto;padding:8px 18px 30px}
.l-in{max-width:640px;margin:0 auto}
.kind{font-size:14px;font-weight:600;color:var(--mc,var(--leaf));margin:6px 0 8px;display:flex;gap:10px;align-items:center}
.again{font-size:12px;background:var(--bad-soft);color:var(--bad);padding:2px 8px;border-radius:99px}
.l-in h2{font-size:clamp(22px,3.4vw,28px);line-height:1.3;margin:0 0 16px;font-weight:600}
.guide{display:flex;align-items:flex-end;gap:10px;margin:4px 0 14px}
.g-av{flex:none;width:52px;height:52px;border-radius:50%;background:var(--soft);overflow:hidden;border:2px solid var(--line)}
.guide p{margin:0;background:var(--soft);border-radius:16px 16px 16px 4px;padding:10px 14px;font-size:15px;position:relative}
.guide p b{color:var(--jungle)}
.info-card{background:var(--bg);border-radius:20px;padding:22px;font-size:18px;line-height:1.7;border-left:6px solid var(--mc,var(--leaf))}
.info-card b{color:var(--jungle)}
.ctx{background:var(--bg);border:2px solid var(--line);border-radius:16px;padding:14px 16px;margin:0 0 18px}
.ctx small{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:4px}
.ctx p{margin:0;font-size:17px}

/* vizualuri */
.vis{margin:18px 0 6px}
.reveal{display:grid;gap:10px}
.reveal.grid{grid-template-columns:repeat(3,1fr)}
.reveal.timeline{grid-template-columns:1fr;position:relative;padding-left:22px}
.reveal.timeline::before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:4px;border-radius:4px;background:linear-gradient(var(--sun),var(--leaf),var(--teal))}
.reveal.line{grid-template-columns:repeat(4,1fr);position:relative}
.reveal.line::before{content:"";position:absolute;left:8%;right:8%;top:36px;height:4px;border-radius:4px;background:linear-gradient(90deg,#C4D6CB,var(--leaf),var(--teal),var(--berry))}
.tile{position:relative;background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:15px}
.reveal.timeline .tile{flex-direction:row;text-align:left;gap:12px}
.tile .ic{font-size:28px;line-height:1}
.reveal.line .tile .ic{width:48px;height:48px;border-radius:50%;background:var(--surface);display:grid;place-items:center;border:3px solid var(--line)}
.tile .time{font-weight:600;color:var(--mango);font-size:14px;min-width:44px}
.tile .lb{font-weight:500}
.tile.seen{border-color:color-mix(in srgb,var(--leaf) 45%,var(--line))}
.tile.on{border-color:var(--teal);background:#E3F7F4}
.reveal-out{min-height:84px;margin-top:12px}
.reveal-out p{margin:0;background:var(--surface);border:2px dashed color-mix(in srgb,var(--teal) 50%,var(--line));border-radius:16px;padding:14px 16px;font-size:16px}
.reveal-out p.muted{border-style:dashed;color:var(--muted)}
.pop{animation:pop .25s ease-out}
@keyframes pop{from{transform:scale(.96);opacity:0}}
.rings-wrap{display:grid;grid-template-columns:290px 1fr;gap:18px;align-items:center}
.rings{position:relative;width:290px;height:290px}
.ring{position:absolute;border-radius:50%;border:0;font-size:13px!important;left:calc(var(--i) * 33px);top:calc(var(--i) * 33px);right:calc(var(--i) * 33px);bottom:calc(var(--i) * 33px);
  background:color-mix(in srgb,var(--leaf) calc(25% + var(--i) * 20%),#fff);color:#fff;font-size:12px;font-weight:600;display:flex;justify-content:center;padding-top:8px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.ring:nth-child(1){background:#D3EFD9;color:var(--jungle)} .ring:nth-child(2){background:#8BD346;color:#12332A} .ring:nth-child(3){background:#22A55B} .ring:nth-child(4){background:#0E6B4F;align-items:center;padding:0}
.ring span{text-align:center;line-height:1.2;white-space:nowrap}
.ring:nth-child(4) span{white-space:normal;max-width:90px}
.ring.on{box-shadow:inset 0 0 0 4px var(--sun)}
.rings-wrap .reveal-out{margin:0}
@media (max-width:600px){.rings-wrap{grid-template-columns:1fr;justify-items:center}.reveal.grid{grid-template-columns:repeat(2,1fr)}.reveal.line{grid-template-columns:repeat(2,1fr)}.reveal.line::before{display:none}}
.compare{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch}
.cmp{background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:14px 16px}
.cmp.l{border-top:6px solid #9DB5A8} .cmp.r{border-top:6px solid var(--teal)}
.cmp-h{font-weight:600;display:flex;gap:8px;align-items:center;margin-bottom:6px}
.cmp-h .ic{font-size:22px}
.cmp ul{margin:0;padding-left:18px}
.cmp li{margin:5px 0;font-size:15px;animation:pop .3s ease-out both;animation-delay:calc(var(--d) * 90ms)}
.vs{align-self:center;font-weight:600;color:var(--muted);font-size:14px}
@media (max-width:560px){.compare{grid-template-columns:1fr}.vs{justify-self:center}}
.steps .st-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center}
.st{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--surface);border:2px solid var(--line);border-radius:16px;padding:10px 12px;min-width:92px;transition:transform .2s}
.st .ic{font-size:26px}
.st .lb{font-size:14px;font-weight:600}
.st.seen{border-color:color-mix(in srgb,var(--leaf) 50%,var(--line))}
.st.on{border-color:var(--mango);background:#FFF3E8;transform:translateY(-4px)}
.arr{font-size:26px;color:var(--muted);font-weight:600}
.arr.loop{color:var(--leaf)}
.steps .btn{margin-top:4px}
.slider input[type=range]{width:100%;accent-color:var(--leaf);margin:12px 0 2px;height:28px}
.sl-ticks{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);font-weight:600}
.meter{position:relative;height:30px;background:var(--line);border-radius:10px;overflow:hidden;margin:14px 0 10px}
.meter-f{height:100%;background:linear-gradient(90deg,var(--mango),var(--sun),var(--lime),var(--leaf));background-size:calc(10000% / var(--p,100)) 100%;border-radius:10px;transition:width .4s ease}
.meter span{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:600;color:var(--ink)}
.note{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.seg{display:flex;gap:6px;background:var(--bg);padding:5px;border-radius:14px;flex-wrap:wrap}
.seg button{flex:1;border:0;background:transparent;border-radius:10px;padding:10px 12px;font-size:15px;font-weight:600;color:var(--muted);min-width:140px}
.seg button[aria-pressed="true"]{background:var(--surface);color:var(--jungle);box-shadow:0 2px 8px rgba(14,107,79,.15)}
.tg-out{margin-top:12px;min-height:110px}
.tg-out p{margin:0}
.chat{display:flex;flex-direction:column;gap:8px}
.msg{max-width:88%;padding:10px 14px;border-radius:16px;font-size:15px}
.msg.me{align-self:flex-end;background:var(--teal);color:#fff;border-bottom-right-radius:4px}
.msg.ai{align-self:flex-start;background:var(--bg);border:2px solid var(--line);border-bottom-left-radius:4px}
.caret{display:inline-block;width:2px;height:1em;background:var(--ink);margin-left:2px;vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* exerciții */
.tf{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tf .choice{justify-content:center;padding:20px 12px;font-weight:600;flex-direction:column;gap:6px}
.tf .choice svg{width:30px;height:30px}
.answer-line{min-height:72px;border-bottom:2px solid var(--line);padding:8px 0 12px;display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.answer-line:empty::before{content:"Atinge variantele de mai jos, în ordinea corectă";color:var(--muted);font-size:15px;padding-top:14px}
.bank{display:flex;flex-direction:column;gap:8px}
.chip{text-align:left;background:var(--surface);border:2px solid var(--line);border-bottom-width:5px;border-radius:14px;padding:10px 14px;font-size:16px;display:flex;gap:10px;align-items:center}
.chip .n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--teal);color:#fff;font-size:13px;display:grid;place-items:center;font-weight:600}
.chip.used{visibility:hidden}
.match{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.match .col{display:flex;flex-direction:column;gap:10px}
.match .chip{min-height:64px;justify-content:center;text-align:center;font-size:15px;line-height:1.3}
.chip.sel{border-color:var(--teal);background:#E3F7F4}
.chip.good{border-color:var(--ok);background:var(--ok-soft);color:var(--jungle);opacity:.75;pointer-events:none}
.chip.wrong{border-color:var(--bad);background:var(--bad-soft);animation:shake .3s}
@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.choice.good{border-color:var(--ok);background:var(--ok-soft)}
.choice.wrong{border-color:var(--bad);background:var(--bad-soft)}
.story{font-size:19px;line-height:2.1;background:var(--bg);border-radius:18px;padding:18px 20px}
.phrase{background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;border-radius:10px;padding:1px 8px;font-size:18px;line-height:1.5;margin:0 1px}
.phrase.sel{border-color:var(--teal);background:#E3F7F4}
.phrase.good{border-color:var(--ok);background:var(--ok-soft)}
.phrase.wrong{border-color:var(--bad);background:var(--bad-soft)}
.phrase.missed{border:2px dashed var(--ok)}
.sort{display:flex;flex-direction:column;align-items:center;gap:10px}
.sort-card{min-height:96px;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:var(--surface);border:2px solid var(--line);border-bottom-width:6px;border-radius:20px;padding:18px;font-size:19px;font-weight:600}
.sort-card small{font-size:14px;font-weight:500;color:var(--bad);margin-top:6px}
.sort-card.good{border-color:var(--ok);background:var(--ok-soft)}
.sort-card.wrong{border-color:var(--bad);background:var(--bad-soft)}
.sort-card.done{border-color:var(--sun);background:#FFF8E1}
.sort-count{margin:0;color:var(--muted);font-size:14px;min-height:20px}
.buckets{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.bucket{background:var(--surface);border:2px dashed color-mix(in srgb,var(--teal) 60%,var(--line));border-radius:18px;padding:18px 12px;font-weight:600;font-size:16px;display:flex;flex-direction:column;align-items:center;gap:6px}
.bucket:hover{background:#E3F7F4}
.bucket .cnt{font-size:13px;color:var(--muted);background:var(--bg);border-radius:99px;padding:1px 10px}
.flips{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.flip{border:0;background:none;padding:0;perspective:900px;min-height:150px}
.fi{position:relative;display:block;width:100%;height:100%;min-height:150px;transition:transform .5s;transform-style:preserve-3d}
.flip.on .fi{transform:rotateY(180deg)}
.ff,.fb2{position:absolute;inset:0;border-radius:18px;padding:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;backface-visibility:hidden;-webkit-backface-visibility:hidden;font-size:16px}
.ff{background:var(--surface);border:2px solid var(--line);border-bottom-width:5px;font-weight:600}
.fb2{transform:rotateY(180deg);color:#fff;font-size:15px}
.fb2 b{font-size:20px;display:block;margin-bottom:4px;color:#fff}
.fb2.myth{background:var(--berry)} .fb2.fact{background:var(--leaf)}
@media (max-width:520px){.flips{grid-template-columns:1fr}}
.recap{display:flex;gap:18px;align-items:flex-end;background:linear-gradient(135deg,var(--ok-soft),#FFF8E1);border-radius:24px;padding:22px}
.r-av{flex:none;width:86px}
.recap h2{margin:0 0 10px}
.recap ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.recap li{display:flex;gap:10px;align-items:flex-start;font-size:17px;animation:pop .35s ease-out both;animation-delay:calc(var(--d) * 150ms + 100ms)}
.recap li svg{flex:none;width:26px;height:26px;color:#fff;background:var(--leaf);border-radius:50%;padding:4px}
@media (max-width:520px){.recap{flex-direction:column;align-items:center}.r-av{width:70px}}

.l-foot{border-top:2px solid var(--line);padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px));background:var(--surface)}
.l-foot .in{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:16px}
.l-foot.good{background:var(--ok-soft);border-color:transparent}
.l-foot.bad{background:var(--bad-soft);border-color:transparent}
.fb{flex:1;min-width:0}
.fb b{display:flex;align-items:center;gap:8px;font-size:20px}
.fb b svg{width:28px;height:28px}
.l-foot.good .fb b{color:var(--jungle)} .l-foot.bad .fb b{color:#A92F28}
.fb p{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--ink);max-width:62ch}
.l-foot.good .fb,.l-foot.bad .fb{max-height:42vh;overflow-y:auto}
.fb p strong{font-weight:600}
.l-foot .btn{min-width:170px}
@media (max-width:600px){.l-foot .in{flex-direction:column;align-items:stretch}.l-foot .btn{width:100%}}

.done-screen{text-align:center;padding-top:20px}
.done-av{width:110px;margin:0 auto 6px}
.done-screen h2{font-size:30px;margin-bottom:4px}
.scores{display:flex;gap:12px;justify-content:center;margin:20px 0;flex-wrap:wrap}
.score{border:2px solid var(--line);border-radius:16px;padding:10px 20px;min-width:140px}
.score small{display:block;font-size:13px;color:var(--muted);font-weight:600}
.score b{font-size:26px}
.xp-c{color:#D99A12} .ok-c{color:var(--leaf)}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}
.confetti i{position:absolute;top:-12px;width:9px;height:14px;border-radius:2px;animation:fall 1.6s ease-in forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(540deg)}}
@media (prefers-reduced-motion:reduce){.confetti{display:none}.fi{transition:none}}

/* ---------- dialog ---------- */
dialog{border:0;border-radius:24px;padding:0;width:min(520px,94vw);max-height:92vh;color:var(--ink);background:var(--surface)}
dialog::backdrop{background:rgba(14,51,42,.55)}
.dlg{padding:28px;overflow-y:auto;max-height:92vh}
.dlg h2{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--jungle)}
.dlg p{color:var(--muted);margin:0 0 16px}
.field{display:block;margin:14px 0}
.field span{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.field input{width:100%;padding:13px 14px;border:2px solid var(--line);border-radius:14px;background:var(--bg);font-size:17px}
.field input:focus{border-color:var(--teal);outline:none}
.check{display:flex;gap:10px;align-items:flex-start;font-size:15px;margin:12px 0;color:var(--ink)}
.check input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--leaf)}
.fine{font-size:13px;color:var(--muted)}
.err{color:var(--bad);font-size:14px;min-height:20px;margin:4px 0}
.hp{position:absolute;left:-9999px}

/* ---------- blog / pagini ---------- */
.posts{display:grid;gap:14px;margin-top:18px}
.post-card{display:block;text-decoration:none;color:inherit;background:var(--surface);border:2px solid var(--line);border-radius:var(--r);padding:20px;border-bottom-width:5px}
.post-card:hover{border-color:color-mix(in srgb,var(--leaf) 40%,var(--line))}
.post-card h3{margin:6px 0;font-size:21px;font-weight:600;color:var(--jungle)}
.post-card p{margin:0;color:var(--muted)}
.meta{font-size:14px;color:var(--muted)}
.tag{display:inline-block;background:var(--soft);color:var(--jungle);font-size:13px;font-weight:600;padding:2px 10px;border-radius:99px;margin-right:6px}
.prose{font-size:18px;line-height:1.7;max-width:68ch}
.prose h1{font-size:clamp(28px,4vw,38px);line-height:1.2;margin:18px 0 8px;font-weight:600;color:var(--jungle)}
.prose h2{font-size:23px;margin:32px 0 8px;font-weight:600;color:var(--jungle)}
.prose li{margin:6px 0}
.cta-box{background:linear-gradient(135deg,var(--jungle),#0B5A5A);color:#fff;border-radius:24px;padding:26px;margin:40px 0 10px;position:relative;overflow:hidden}
.cta-box::after{content:"";position:absolute;right:-40px;bottom:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(139,211,70,.35),transparent 70%)}
.cta-box h3{margin:0 0 6px;font-size:22px;font-weight:600}
.cta-box p{margin:0 0 16px;opacity:.92;max-width:60ch}
.cta-box .btn{background:var(--sun);color:var(--ink);box-shadow:0 5px 0 #C98E1E;position:relative;z-index:1}
.back{display:inline-flex;gap:6px;align-items:center;text-decoration:none;color:var(--muted);margin-top:24px;font-size:15px}

/* ---------- certificat ---------- */
.cert-wrap{max-width:760px;margin:30px auto}
.cert-wrap canvas{width:100%;height:auto;border-radius:12px;box-shadow:0 10px 30px rgba(14,107,79,.14);background:#fff;margin:18px 0}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--jungle);color:#fff;
  padding:12px 18px;border-radius:14px;opacity:0;transition:.2s;z-index:80;pointer-events:none;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* ghicitorul de cuvinte */
.nw-sent{background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:16px 18px;font-size:20px;font-weight:500;min-height:64px}
.nw-q{margin:12px 0 8px;font-size:15px;color:var(--muted)}
.nw-opts{display:flex;flex-direction:column;gap:8px}
.nw-opt{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;border-radius:14px;padding:10px 14px;font-size:16px;text-align:left}
.nw-bar{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(18,181,166,.28),rgba(139,211,70,.28));z-index:0}
.nw-w,.nw-p{position:relative;z-index:1}
.nw-w{flex:1;font-weight:600}
.nw-p{font-size:14px;color:var(--muted);font-weight:600}
.nw-opt:hover{border-color:var(--teal)}
/* tokenizator */
.tokens .field{margin:0 0 10px}
.tk-out{display:flex;flex-wrap:wrap;gap:4px;background:var(--surface);border:2px solid var(--line);border-radius:16px;padding:12px;min-height:56px}
.tk{padding:4px 6px;border-radius:7px;font-size:16px;white-space:pre}
.tk.c0{background:#D6F2DF}.tk.c1{background:#D2F1EE}.tk.c2{background:#FFF0C7}.tk.c3{background:#FFE1CC}.tk.c4{background:#E9DDFB}
.tk-count{margin:8px 0 0;font-weight:600;color:var(--jungle);font-size:15px}
/* piramida riscurilor */
.reveal.pyramid{grid-template-columns:1fr;justify-items:center;gap:6px}
.reveal.pyramid .tile{flex-direction:row;justify-content:center;color:#fff;border:0;border-bottom:4px solid rgba(0,0,0,.18)}
.reveal.pyramid .tile:nth-child(1){width:42%;background:#D63A3A}
.reveal.pyramid .tile:nth-child(2){width:62%;background:#F07A2A}
.reveal.pyramid .tile:nth-child(3){width:82%;background:#E8B21A;color:#3A2A00}
.reveal.pyramid .tile:nth-child(4){width:100%;background:#22A55B}
.reveal.pyramid .tile.on{box-shadow:0 0 0 4px var(--ink)}
@media (max-width:520px){.reveal.pyramid .tile:nth-child(1){width:70%}.reveal.pyramid .tile:nth-child(2){width:80%}.reveal.pyramid .tile:nth-child(3){width:90%}}
.buckets.four{grid-template-columns:1fr 1fr}
.buckets.four .bucket{padding:14px 10px;font-size:15px}

/* abonare la final */
.nl-card{background:var(--surface);border:2px solid var(--line);border-left:6px solid var(--teal);border-radius:20px;padding:22px;margin:26px 0 0}
.nl-card h3{margin:0 0 6px;font-size:21px;color:var(--jungle);font-weight:600}
.nl-card p{margin:0 0 8px;color:var(--muted)}
.nl-card .field{max-width:420px}

/* ---------- legături către cursuri ---------- */
.cta-box .btns{display:flex;gap:12px;flex-wrap:wrap}
.cta-box .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55);box-shadow:0 5px 0 rgba(0,0,0,.18)}
.mini-cta{margin:18px auto 0;max-width:420px;padding:16px 18px;border:2px solid var(--line);border-radius:var(--r);background:var(--surface);text-align:left}
.mini-cta p{margin:0 0 12px}
.save-note{font-size:14px;color:var(--muted);margin:6px 0 0}
.share-row{text-align:center;margin:18px 0 0}
.cert-note{font-size:14px;color:var(--muted);margin:4px 0 10px}
.cta-box .btns .btn{flex:1 1 240px;text-align:center}


/* =====================================================================
   VERSIUNEA 2 – aspect nou, zone, instalare, autor, sunete
   ===================================================================== */
.brand img{border-radius:11px;box-shadow:0 2px 0 rgba(14,107,79,.18)}
.btn svg{width:20px;height:20px;flex:none}
.hero-note{font-size:14px!important;color:var(--muted);margin:16px 0 0!important}
.hero-art img{border-radius:24%;box-shadow:0 14px 30px rgba(14,107,79,.22),0 5px 0 rgba(14,107,79,.16);inset:17%;width:66%;height:66%;animation:floaty 5s ease-in-out infinite}
.hero-art .ring{animation:spin 60s linear infinite}
.orb{animation:floaty 4s ease-in-out infinite}
.orb:nth-child(odd){animation-delay:-2s}
@keyframes floaty{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes spin{to{rotate:360deg}}
.mod-card{transition:transform .15s,box-shadow .15s}
.mod-card:hover{transform:translateY(-3px)}
.fact{position:relative;overflow:hidden}
@media (max-width:760px){
  .hero{padding:22px 0 8px}
  .hero-art{order:2;max-width:210px;margin:34px auto 30px}
  .hero .cta .btn{flex:1 1 100%}
}
/* bara de sus pe mobil: rămâne vizibilă și seria de zile */
@media (max-width:640px){
  .stat.fire{display:flex}
  .stat{padding:5px 7px;font-size:14px;gap:3px;border-width:2px}
  .stat svg{width:15px;height:15px}
  .nav{gap:0}.nav a{padding:7px 6px;font-size:13.5px}
  .brand img{width:36px;height:36px}
  .top-in{gap:6px;padding:8px 10px}
}
@media (max-width:359px){.stat.fire{display:none}}

/* banner pentru browserul din rețelele de socializare */
.inapp{background:#FFF4D6;border-bottom:2px solid #F3D48A}
.inapp-in{max-width:1000px;margin:0 auto;padding:10px 14px;display:flex;gap:10px;align-items:center}
.inapp p{margin:0;font-size:14px;line-height:1.4;flex:1;color:#5A4410}
.inapp .btn{white-space:nowrap}

/* instalare */
.steps-list{margin:0 0 16px;padding-left:22px;color:var(--ink)}
.steps-list li{margin:0 0 8px}
.map-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:8px}
.snd{border:2px solid var(--line);background:var(--surface);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--jungle);flex:none}
.snd svg{width:20px;height:20px}
.snd[aria-pressed="false"]{color:var(--muted);background:var(--soft)}

/* alegerea ghidului */
.av-quote{background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:12px 16px;margin:-8px auto 22px!important;max-width:520px;color:var(--ink)!important;min-height:52px}
.av-quote b{color:var(--jungle)}
.av-card{transition:transform .12s}
.av-card.sel{transform:translateY(-3px)}

/* harta: decorul zonelor */
.unit .scene{height:96px;border-radius:20px 20px 0 0;overflow:hidden;position:relative;z-index:2;border:3px solid var(--mc);border-bottom:0;background:var(--soft)}
.unit .scene svg{display:block;width:100%;height:100%}
.unit .scene+.unit-banner{border-radius:0 0 20px 20px}
.unit.locked .scene{filter:saturate(.35) brightness(1.08);border-color:color-mix(in srgb,var(--mc) 45%,#fff)}
.unit.locked .unit-banner{filter:saturate(.45) brightness(1.08)}
.unit:not(.locked) .scene svg{animation:pan 26s ease-in-out infinite alternate}
@keyframes pan{from{transform:scale(1.06) translateX(-1.5%)}to{transform:scale(1.06) translateX(1.5%)}}
.node{transition:transform .12s}
.node:not(.locked):hover{transform:translateY(-2px) scale(1.04)}

/* finalul lecției */
.say{background:var(--soft);border-radius:16px;padding:12px 16px;display:inline-block;margin:6px 0 0;max-width:460px}
.say b{color:var(--jungle)}
.badge{width:min(320px,100%);margin:14px auto 12px;border-radius:20px;overflow:hidden;background:var(--surface);border:3px solid var(--mc);box-shadow:0 6px 0 color-mix(in srgb,var(--mc) 62%,#000);animation:pop .5s cubic-bezier(.2,1.4,.4,1) both}
.badge .scene{height:110px}.badge .scene svg{display:block;width:100%;height:100%}
.badge b{display:block;font-size:19px;font-weight:600;padding:10px 12px 0;color:var(--ink)}
.badge small{display:block;color:var(--muted);padding:2px 12px 12px}
@keyframes pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}

/* autor și rețele */
.author{display:flex;gap:18px;align-items:flex-start;background:var(--surface);border:2px solid var(--line);border-radius:24px;padding:22px;margin:40px 0 0}
.au-ph{width:84px;height:84px;border-radius:50%;flex:none;object-fit:cover;border:3px solid var(--line)}
.au-ini{display:grid;place-items:center;background:linear-gradient(135deg,var(--leaf),var(--teal));color:#fff;font-weight:600;font-size:30px;border-color:#fff;box-shadow:0 4px 0 var(--line)}
.au-t small{color:var(--muted);font-size:13px;display:block}
.au-t b{font-size:21px;font-weight:600;display:block;color:var(--jungle);line-height:1.2}
.au-t>span{display:block;color:var(--muted);font-size:14.5px;margin-top:2px}
.au-t p{margin:10px 0 12px;font-size:15.5px}
.socs{display:flex;gap:10px;flex-wrap:wrap}
.soc{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:15px;padding:9px 14px 9px 9px;border-radius:14px;color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.2)}
.soc i{width:26px;height:26px;border-radius:8px;background:rgba(255,255,255,.2);display:grid;place-items:center}
.soc svg{width:20px;height:20px}
.soc.facebook{background:#1F6FD0}.soc.linkedin{background:#0B5FA5}
.soc:active{transform:translateY(3px);box-shadow:0 1px 0 rgba(0,0,0,.2)}
.foot-social{display:inline-flex;gap:8px}
.foot-social:empty{display:none}
.foot-social .soc{padding:5px;box-shadow:none;border-radius:10px}
.foot-social .soc span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:520px){.author{flex-direction:column;align-items:center;text-align:center}.socs{justify-content:center}.soc{flex:1 1 100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.hero-art img,.hero-art .ring,.orb,.unit .scene svg,.badge{animation:none!important}}


/* =====================================================================
   VERSIUNEA 3 – grafică: scenă pe prima pagină, biomuri pe hartă, relief
   ===================================================================== */
body{background:
  radial-gradient(1100px 520px at 0% -10%,rgba(255,194,61,.28),transparent 60%),
  radial-gradient(900px 620px at 100% 0%,rgba(18,181,166,.22),transparent 60%),
  radial-gradient(900px 700px at 50% 110%,rgba(139,211,70,.22),transparent 60%),
  linear-gradient(180deg,#F1FAF3,#E3F4E8);background-attachment:fixed}
.btn{background:linear-gradient(180deg,#34C06F,#1E9A56);position:relative;overflow:hidden}
.btn::before{content:"";position:absolute;left:8%;right:8%;top:5px;height:36%;border-radius:99px;background:linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0));pointer-events:none}
.btn.ghost{background:linear-gradient(180deg,#fff,#F3FAF5)}
.btn.ghost::before,.btn[disabled]::before{display:none}
.btn.bad{background:linear-gradient(180deg,#EE5A50,#D83A30)}
.btn[disabled]{background:#C4D6CB}
.cta-box .btn{background:linear-gradient(180deg,#FFD15C,#FFB52E)}
.cta-box .btn.ghost{background:transparent}
.stat{box-shadow:0 3px 0 var(--line)}

/* ---- prima pagină: scena ---- */
.hero{grid-template-columns:1fr 1fr;padding-top:40px}
.hero h1{background:linear-gradient(120deg,#0E6B4F 20%,#12A08C 60%,#1F8CC9);-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.hero-scene{position:relative;aspect-ratio:1/1.02;border-radius:36px;overflow:hidden;box-shadow:0 24px 50px -18px rgba(14,107,79,.5),0 8px 0 #BFE3CB;border:4px solid #fff;isolation:isolate}
.hs-bg{position:absolute;inset:0;width:100%;height:100%}
.hs-icon{position:absolute;left:28%;top:9%;width:44%;border-radius:24%;box-shadow:0 18px 30px rgba(14,80,107,.3),0 0 0 5px rgba(255,255,255,.7);animation:floaty 5s ease-in-out infinite}
.hs-crew{position:absolute;left:0;right:0;bottom:5%;display:flex;justify-content:center;align-items:flex-end;gap:1.5%;padding:0 5%}
.hs-crew .crew-av{width:14%;filter:drop-shadow(0 5px 3px rgba(14,80,50,.3))}
.hs-crew .crew-av:nth-child(3),.hs-crew .crew-av:nth-child(4){width:16.5%}
.crew-note{text-align:center;color:var(--muted);font-size:15px;margin:14px 0 30px}
.ff{position:absolute;width:5px;height:5px;border-radius:50%;background:#FFF6C4;box-shadow:0 0 8px 2px rgba(255,236,130,.85);opacity:0;animation:ff calc(4s + var(--i) * .6s) ease-in-out calc(var(--i) * -.9s) infinite;pointer-events:none}
@keyframes ff{0%,100%{opacity:0;transform:translate(0,0)}30%{opacity:1}50%{opacity:.9;transform:translate(14px,-22px)}75%{opacity:.4;transform:translate(-8px,-36px)}}
.fact{border:0;box-shadow:0 5px 0 var(--line);background:linear-gradient(180deg,#fff,#F6FCF8)}
.fact b{font-size:28px}
@media (max-width:760px){.hero{grid-template-columns:1fr}.hero-scene{order:2;margin:22px 0 0;aspect-ratio:1/.9;border-radius:28px}}

/* ---- cardurile modulelor: miniatură cu peisajul zonei ---- */
.mods{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.mod-card{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;border:0;border-radius:22px;box-shadow:0 6px 0 color-mix(in srgb,var(--mc) 35%,#DDEFE3),0 14px 24px -14px rgba(14,107,79,.35)}
.mod-card:hover{transform:translateY(-4px)}
.mod-card .thumb{display:block;position:relative;height:96px;overflow:hidden}
.mod-card .thumb>svg{display:block;width:100%;height:100%;transition:transform .5s}
.mod-card:hover .thumb>svg{transform:scale(1.08)}
.mod-card .thumb i{position:absolute;left:14px;bottom:-22px;width:46px;height:46px;border-radius:14px;border:3px solid #fff;box-shadow:0 4px 0 color-mix(in srgb,var(--mc) 65%,#000)}
.mod-card>div{padding:28px 16px 16px}
.mod-card .thumb{overflow:visible}.mod-card .thumb>svg{border-radius:22px 22px 0 0}
.mod-card:hover .thumb>svg{transform:none}

/* ---- alegerea ghidului ---- */
.av-card{position:relative;overflow:hidden;border:0;box-shadow:0 6px 0 var(--line);padding-top:20px}
.av-card::before{content:"";position:absolute;left:50%;top:14px;width:118px;height:118px;translate:-50% 0;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--ac) 30%,#fff),color-mix(in srgb,var(--ac) 55%,#fff));opacity:.55}
.av-card>*{position:relative}
.av-fig{width:92px}
.av-card.sel{background:#fff;box-shadow:0 6px 0 var(--ac),0 0 0 3px var(--ac)}
.av-card.sel::before{opacity:.9}

/* ---- harta: biomuri ---- */
.unit{z-index:auto}
.trail{z-index:1}
.nodes,.unit-banner,.unit .scene,.trophy{z-index:2}
.unit .scene{position:relative}
.biome{border-radius:30px;padding:0 0 34px;margin:40px 0 0;box-shadow:0 10px 0 var(--bd),0 26px 40px -22px rgba(14,60,50,.55)}
.biome-bg{position:absolute;inset:0;border-radius:30px;overflow:hidden;background:linear-gradient(180deg,var(--b1),var(--b2));z-index:0}
.biome-bg::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:radial-gradient(120% 100% at 50% 100%,var(--bd),transparent 70%);opacity:.55}
.b0{--b1:#D9F6DC;--b2:#9FE0A9;--bd:#6CC47E;--lf:#2FA866}
.b1{--b1:#D5F4F2;--b2:#8BDAD3;--bd:#55BDB4;--lf:#16998C}
.b2{--b1:#DCEBFB;--b2:#A3CCF2;--bd:#6FA9DE;--lf:#2E7FC2}
.b3{--b1:#FFEBD3;--b2:#FFC88E;--bd:#F0A35C;--lf:#E07A2B}
.b4{--b1:#E6D6EA;--b2:#C29BC4;--bd:#A074A6;--lf:#7C4D85}
.b5{--b1:#E3DCFA;--b2:#B7A9EE;--bd:#8E7CDB;--lf:#6548C2}
.b6{--b1:#DDF0DF;--b2:#A2D3B1;--bd:#5E9E7A;--lf:#0E6B4F}
.leaf{position:absolute;width:120px;color:var(--lf);opacity:.3}
.leaf svg{display:block;width:100%}
.leaf.l0{left:-34px;top:210px;rotate:38deg}
.leaf.l1{right:-38px;top:300px;rotate:-42deg;width:140px}
.leaf.l2{left:-44px;top:440px;rotate:64deg;width:150px}
.leaf.l3{right:-30px;top:540px;rotate:-24deg}
.leaf.l4{left:-26px;bottom:-30px;rotate:22deg;width:130px}

.biome .scene{height:132px;border:0;border-radius:30px 30px 0 0}
.biome .scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--mc) 70%,#000) 130%)}
.biome .scene+.unit-banner{border-radius:0;margin-top:-1px;box-shadow:0 6px 14px -6px rgba(0,0,0,.35);background:linear-gradient(180deg,color-mix(in srgb,var(--mc) 92%,#fff),color-mix(in srgb,var(--mc) 86%,#000))}
.unit-banner i{background:rgba(255,255,255,.24);box-shadow:inset 0 2px 0 rgba(255,255,255,.3)}
.biome.locked .biome-bg{filter:saturate(.25) brightness(1.06)}
.biome.locked{box-shadow:0 10px 0 #C9D8CE,0 26px 40px -22px rgba(14,60,50,.3)}
.biome .deco{display:none}
.node-label{background:#fff;border-radius:99px;padding:3px 12px;box-shadow:0 3px 0 rgba(0,0,0,.1);font-weight:600;font-size:13.5px}
.node-wrap.locked .node-label{background:rgba(255,255,255,.7);box-shadow:none}
.trail .t-base{stroke:#fff;opacity:.85;stroke-width:15}
.trail .t-done{stroke:#FFC23D;stroke-width:15}
/* nodurile: relief și luciu */
.node{width:84px;height:84px;background:radial-gradient(circle at 34% 26%,color-mix(in srgb,var(--mc) 55%,#fff) 0 16%,var(--mc) 52%,color-mix(in srgb,var(--mc) 78%,#000));
  box-shadow:0 8px 0 color-mix(in srgb,var(--mc) 55%,#000),0 16px 18px -6px rgba(0,0,0,.35),inset 0 0 0 4px rgba(255,255,255,.28)}
.node:active{box-shadow:0 2px 0 color-mix(in srgb,var(--mc) 55%,#000),inset 0 0 0 4px rgba(255,255,255,.28)}
.node svg{filter:drop-shadow(0 2px 0 rgba(0,0,0,.2))}
.node.done,.node.gold{background:radial-gradient(circle at 34% 26%,#FFF2B8 0 16%,#FFC93D 52%,#F0A21E);box-shadow:0 8px 0 #B97A12,0 16px 18px -6px rgba(0,0,0,.35),inset 0 0 0 4px rgba(255,255,255,.4)}
.node.locked{background:radial-gradient(circle at 34% 26%,#F4F8F5 0 16%,#D5E1D9 52%,#BCCDC2);color:#8FA598;box-shadow:0 8px 0 #A3B8AA,0 14px 16px -8px rgba(0,0,0,.25),inset 0 0 0 4px rgba(255,255,255,.5)}
.node-wrap.current .node{box-shadow:0 8px 0 color-mix(in srgb,var(--mc) 55%,#000),0 0 0 8px rgba(255,255,255,.55),0 0 34px 10px color-mix(in srgb,var(--mc) 55%,transparent),inset 0 0 0 4px rgba(255,255,255,.28)}
.node-wrap.current .node::after{border-color:#fff;opacity:.8}
.start-tip{border:0;box-shadow:0 4px 0 rgba(0,0,0,.14);border-radius:14px;z-index:3}
.start-tip::after{border-top-color:#fff}
.map-av{width:60px;filter:drop-shadow(0 6px 3px rgba(0,0,0,.28))}
.map-head h1{background:linear-gradient(120deg,#0E6B4F,#12A08C 70%,#1F8CC9);-webkit-background-clip:text;background-clip:text;color:transparent}
.trophy .node-label{background:#fff}
.overall .bar{height:14px;box-shadow:inset 0 2px 0 rgba(0,0,0,.06)}

/* ---- lecția ---- */
.lesson{background:linear-gradient(180deg,color-mix(in srgb,var(--mc) 16%,#fff) 0,#fff 230px)}
.l-top .bar{box-shadow:inset 0 2px 0 rgba(0,0,0,.06)}
.choice,.chip{transition:transform .1s}
.choice:hover{transform:translateY(-2px)}
.author{border:0;box-shadow:0 6px 0 var(--line),0 16px 26px -18px rgba(14,107,79,.4)}
@media (prefers-reduced-motion:reduce){.ff,.hs-icon{animation:none!important}}


/* =====================================================================
   VERSIUNEA 4 – ilustrații (assets/hero.webp, assets/zone-1..7.webp)
   ===================================================================== */
.hs-bg{object-fit:cover}
.hero-scene{aspect-ratio:1/1;border-width:5px}
.hs-icon{left:31%;top:7%;width:38%}
.hs-crew{bottom:9%;gap:2%}
.hs-crew .crew-av,.map-av,.done-av,.r-av{filter:drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff) drop-shadow(0 6px 4px rgba(0,40,20,.35))}
@media (max-width:760px){.hero-scene{aspect-ratio:1/1}}
.unit .scene img,.badge .scene img,.mod-card .thumb>img{display:block;width:100%;height:100%;object-fit:cover}
.biome .scene{height:auto;aspect-ratio:3/1;overflow:hidden}
.biome .scene::after{background:linear-gradient(180deg,transparent 60%,color-mix(in srgb,var(--mc) 75%,#000) 135%)}
.unit:not(.locked) .scene img{animation:pan 26s ease-in-out infinite alternate}
.biome.locked .scene{filter:saturate(.25) brightness(1.05)}
.bb-img{position:absolute;inset:-60px;background-size:cover;background-position:center;filter:blur(34px) saturate(1.15);opacity:.62}
.biome-bg::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.12));z-index:1}
.biome-bg .ff{z-index:2}
.biome-bg::after{z-index:1}
.mod-card .thumb{height:auto;aspect-ratio:2.4/1}
.mod-card .thumb>img{border-radius:22px 22px 0 0}
.badge .scene{height:auto;aspect-ratio:3/1}
.lesson::before{content:"";position:absolute;left:0;right:0;top:0;height:150px;background:var(--zi) center 30%/cover;opacity:.5;-webkit-mask-image:linear-gradient(180deg,#000 20%,transparent);mask-image:linear-gradient(180deg,#000 20%,transparent);pointer-events:none}
.lesson>*{position:relative}
.l-top .x,.l-top .snd{background:rgba(255,255,255,.9)}
.phases span{box-shadow:0 2px 0 rgba(0,0,0,.06)}
@media (prefers-reduced-motion:reduce){.unit .scene img{animation:none!important}}

/* răspuns cu o singură atingere */
.tap-hint{margin:0;color:var(--muted);font-size:15px;text-align:center;width:100%}
.l-foot .in:has(#lgo[hidden]){justify-content:center}
#lgo[hidden]{display:none}


/* harta: ilustrația zonei, clară, în spatele lecțiilor */
.bb-img{inset:0;filter:none;opacity:1;background-position:center top}
.biome-bg::before{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.22) 40%,rgba(255,255,255,.1))}
.biome-bg::after{opacity:.35}
.biome .scene{display:none}
.biome .unit-banner,.biome .scene+.unit-banner{border-radius:26px 26px 0 0;margin:0;background:linear-gradient(180deg,color-mix(in srgb,var(--mc) 88%,transparent),color-mix(in srgb,var(--mc) 78%,#000));backdrop-filter:blur(6px)}
.biome.locked .bb-img{filter:grayscale(.75) brightness(1.08)}
.biome.locked .biome-bg{filter:none}
.node-label{box-shadow:0 3px 0 rgba(0,0,0,.18),0 6px 14px rgba(0,0,0,.18)}
.node-wrap.locked .node-label{background:rgba(255,255,255,.88)}
.trail .t-base{opacity:.95;filter:drop-shadow(0 2px 2px rgba(0,0,0,.25))}


/* harta: imagini verticale dedicate (assets/path-1..7.webp) */
.biome{display:flex;flex-direction:column;aspect-ratio:2/3.05;padding:0}
.bb-img{background-size:cover;background-position:center top}
.biome-bg::before{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.1) 45%,rgba(255,255,255,0))}
.biome-bg::after{display:none}
.biome .nodes{flex:1;justify-content:space-evenly;gap:10px;padding:27% 0 30px}
.biome.locked .bb-img{filter:grayscale(.65) brightness(1.06)}
.hs-icon{border-radius:22%;box-shadow:0 18px 30px rgba(10,50,30,.45),0 0 0 4px rgba(255,214,102,.55)}
.brand img{box-shadow:0 2px 6px rgba(0,40,20,.35)}
.bb-img{top:84px}
.biome{aspect-ratio:2/3.3}
.biome .nodes{padding-top:20%}
.b2 .nodes{padding-top:30%}
.b5 .nodes,.b6 .nodes{padding-top:50%}
