:root{--ink:#1f1b3a;--muted:#5b5778;--bg:#fff8ee;--card:#fff;--pri:#6b4ce6;--pri2:#ff7a45;--ok:#16a34a;--bad:#dc2626;--line:#e9e3f5;--r:18px;--sh:0 6px 18px rgba(60,40,120,.12),0 2px 4px rgba(60,40,120,.08)}
*{box-sizing:border-box}
html{font-size:17px;-webkit-text-size-adjust:100%}
html.proj{font-size:24px}
body{margin:0;font-family:system-ui,"Segoe UI","Noto Sans Hebrew","Arial Hebrew",Arial,sans-serif;color:var(--ink);background:var(--bg);background-image:radial-gradient(circle at 10% 0,#ffe7c7 0,transparent 35%),radial-gradient(circle at 95% 15%,#e5dcff 0,transparent 30%);line-height:1.55;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--pri)}
:focus-visible{outline:3px solid #ffb703;outline-offset:2px;border-radius:8px}
.skip{position:absolute;right:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:20}.skip:focus{right:.5rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .8rem;background:linear-gradient(90deg,var(--pri),#8f5cf7 60%,var(--pri2));color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.brand{display:flex;align-items:center;gap:.45rem;color:#fff;text-decoration:none;font-weight:800;min-width:0}
.brand-ico{font-size:1.5rem}.brand-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem}
.top-actions{display:flex;gap:.35rem;flex-shrink:0}
.tbtn{display:inline-flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.2);color:#fff;border:2px solid rgba(255,255,255,.45);border-radius:999px;padding:.35rem .7rem;font:inherit;font-size:.9rem;font-weight:700;text-decoration:none;cursor:pointer;min-height:44px}
.tbtn[aria-pressed=true]{background:#fff;color:var(--pri)}
@media (max-width:560px){.tbtn span{display:none}.tbtn{font-size:1.15rem;padding:.3rem .6rem}}
main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1rem .8rem 2rem}
html.proj main{max-width:1500px}
h1,h2,h3{line-height:1.25;margin:.3em 0 .4em}
h1{font-size:1.9rem}h2{font-size:1.35rem}
.lead{font-size:1.1rem;color:var(--muted)}
.small{font-size:.9rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--pri);color:#fff;border:0;border-radius:999px;padding:.7rem 1.3rem;font:inherit;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 4px 0 #4a31b5;min-height:48px;transition:transform .1s}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 #4a31b5}
.btn.big{font-size:1.15rem;padding:.85rem 1.6rem;min-height:56px}
.btn.small{font-size:.9rem;padding:.45rem .9rem;min-height:40px;box-shadow:0 3px 0 #4a31b5}
.btn.alt{background:var(--pri2);box-shadow:0 4px 0 #c4501f}
.btn.ghost{background:#fff;color:var(--pri);border:2px solid var(--pri);box-shadow:none}
.linkbtn{background:none;border:0;color:var(--pri);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;padding:.5rem;min-height:44px}
.panel{background:var(--card);border-radius:24px;box-shadow:var(--sh);padding:1.2rem;margin:1rem 0}
.center{text-align:center}
.say{background:#fff3c4;border:2px solid #f2c94c;border-radius:999px;font-size:1.05rem;width:44px;height:44px;cursor:pointer;vertical-align:middle;flex-shrink:0;line-height:1}
.say.speaking{background:#ffd23f;animation:pulse 1s infinite}
@keyframes pulse{50%{transform:scale(1.12)}}
#toast{position:fixed;bottom:1rem;left:50%;transform:translate(-50%,150%);background:#1f1b3a;color:#fff;padding:.7rem 1.1rem;border-radius:14px;z-index:50;transition:transform .25s;max-width:92vw;text-align:center}
#toast.show{transform:translate(-50%,0)}
/* home */
.home-hero{text-align:center;padding:.6rem 0 .2rem}
.hh-emoji{font-size:2.6rem;letter-spacing:.2rem}
.home-hero .how{background:#fff;border-radius:16px;padding:.6rem .9rem;display:inline-block;box-shadow:var(--sh);font-weight:600}
.levels{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:1rem 0 .4rem}
.lv{display:flex;flex-direction:column;align-items:center;border:3px solid var(--c);background:#fff;color:var(--ink);border-radius:18px;padding:.5rem 1.1rem;font:inherit;cursor:pointer;min-width:9rem;min-height:56px}
.lv b{font-size:1.15rem}.lv small{color:var(--muted)}
.lv.on{background:var(--c);color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.18)}.lv.on small{color:#fff}
.topics{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin:.6rem 0}
.chipbtn{border:2px solid var(--line);background:#fff;border-radius:999px;padding:.4rem .85rem;font:inherit;font-weight:700;cursor:pointer;min-height:44px;color:var(--ink)}
.chipbtn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.progline{text-align:center;font-weight:700;color:var(--pri);min-height:1.2em;margin:.2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.9rem;margin:.6rem 0 1.2rem}
@media (max-width:420px){.grid{grid-template-columns:1fr 1fr;gap:.6rem}}
.gcard{position:relative;display:flex;flex-direction:column;gap:.15rem;background:var(--c);color:#fff;border-radius:22px;padding:1rem .9rem .8rem;text-decoration:none;box-shadow:0 6px 0 rgba(0,0,0,.18),var(--sh);min-height:170px;overflow:hidden;transition:transform .12s}
.gcard::after{content:"";position:absolute;inset:auto -30px -40px auto;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.16)}
.gcard:hover{transform:translateY(-3px) rotate(-.5deg)}
.g-emoji{font-size:2.6rem;line-height:1.1}
.g-topic{font-size:.85rem;font-weight:700;opacity:.92}
.g-title{font-size:1.2rem;font-weight:900;line-height:1.25}
.g-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:.3rem;position:relative;z-index:1}
.g-play{background:rgba(255,255,255,.95);color:var(--ink);border-radius:999px;padding:.2rem .7rem;font-weight:800;font-size:.9rem;white-space:nowrap}
.mini-stars span{color:rgba(255,255,255,.45);font-size:1.1rem}.mini-stars span.on{color:#ffe14d;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.7rem;margin:1rem 0}
.tool{display:flex;align-items:center;gap:.6rem;background:#fff;border-radius:18px;padding:.9rem 1rem;text-decoration:none;color:var(--ink);font-weight:800;box-shadow:var(--sh);font-size:1.4rem;min-height:60px}
.tool span{font-size:1rem}
.reset{text-align:center}
.mine-sec h2{text-align:center}
.siblings{max-width:1100px;margin:0 auto;padding:.4rem .8rem 0;width:100%}
.siblings .sb{background:#fff;border-radius:18px;box-shadow:var(--sh);padding:.6rem .8rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;justify-content:center}
.siblings b{margin-inline-end:.3rem}
.siblings a{display:inline-flex;align-items:center;gap:.3rem;border:2px solid var(--line);border-radius:999px;padding:.35rem .8rem;text-decoration:none;color:var(--ink);font-weight:700;min-height:44px}
/* game */
.stagebar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.stages{display:flex;gap:.35rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.stages li{display:flex;align-items:center;gap:.3rem;background:#fff;border-radius:999px;padding:.25rem .7rem .25rem .3rem;font-weight:700;font-size:.9rem;color:var(--muted);box-shadow:var(--sh)}
.stages b{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--line);color:var(--ink)}
.stages li.now{color:var(--ink);outline:3px solid var(--pri)}.stages li.now b{background:var(--pri);color:#fff}
.stages li.done b{background:var(--ok);color:#fff}
@media (max-width:560px){.stages li span{display:none}.stages li{padding:.25rem .3rem}}
.score{font-weight:900;font-size:1.25rem;background:#fff;border-radius:999px;padding:.3rem .9rem;box-shadow:var(--sh)}
.score small{color:var(--muted);font-weight:600;font-size:.85rem}
.score.pop{animation:pop .4s}@keyframes pop{50%{transform:scale(1.2)}}
.intro{text-align:center}
.hero-emoji{font-size:5rem;line-height:1.1;animation:bob 2.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-8px) rotate(4deg)}}
.tags{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap}
.tag{background:#efe9ff;color:var(--pri);border-radius:999px;padding:.2rem .7rem;font-weight:700;font-size:.9rem}
.tag.mine{background:#fff1e6;color:#b4471a}
.plan{list-style:none;padding:0;margin:1rem auto;max-width:34rem;text-align:start;display:grid;gap:.4rem}
.plan li{background:#faf7ff;border-radius:14px;padding:.55rem .8rem}
.msg{font-weight:700;min-height:1.6em;margin:.2rem 0 .6rem}.msg.good{color:var(--ok)}.msg.bad{color:var(--bad)}
.match{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:.8rem;align-items:start}
.mterms,.mdefs{display:grid;gap:.5rem}
@media (max-width:640px){.match{grid-template-columns:1fr}.mterms{grid-template-columns:1fr 1fr}}
.mt,.md{--c:var(--pri);font:inherit;text-align:start;background:#fff;border:3px solid var(--line);border-radius:16px;padding:.6rem .75rem;cursor:pointer;min-height:52px;display:flex;align-items:center;gap:.5rem;color:var(--ink);transition:transform .1s,border-color .1s}
.mt{font-weight:800;background:#f6f2ff;justify-content:center;text-align:center}
.mt.sel,.md.sel{border-color:var(--pri);background:#ebe4ff;transform:scale(1.02);box-shadow:0 0 0 3px rgba(107,76,230,.25)}
.mt.ok,.md.ok{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff);cursor:default}
.mnum:empty{display:none}.mnum{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;border-radius:50%;background:var(--c);color:#fff;font-weight:900;font-size:.85rem;flex-shrink:0}
.mt.bad,.md.bad{border-color:var(--bad);animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.next{margin-top:1rem}
.counter{font-weight:800;color:var(--muted);margin:.2rem 0 .5rem}
.sortcard{display:flex;align-items:center;gap:.6rem;justify-content:space-between;background:linear-gradient(135deg,#fff,#f5f0ff);border:3px dashed #b9a8f5;border-radius:20px;padding:1.1rem 1rem;font-size:1.3rem;font-weight:800;min-height:110px;margin-bottom:.8rem}
.sortcard.ok{border-style:solid;border-color:var(--ok);background:#effaf2}
.sortcard.shake{animation:shake .45s}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}
.catbtn{font:inherit;font-weight:800;font-size:1.05rem;display:flex;flex-direction:column;align-items:center;gap:.15rem;background:#fff;border:3px solid var(--c);border-radius:18px;padding:.7rem .5rem;cursor:pointer;color:var(--ink);min-height:84px;box-shadow:0 4px 0 color-mix(in srgb,var(--c) 60%,#000)}
.catbtn .ce{font-size:2rem;line-height:1}
.catbtn:active{transform:translateY(3px)}
.catbtn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.catbtn.bad{background:#fde8e8;border-color:var(--bad);opacity:.8}
.catbtn:disabled{cursor:default}
.fb{margin:.8rem 0 0;border-radius:16px;padding:0;font-size:1.05rem}
.fb.good,.fb.bad{padding:.75rem .9rem}
.fb.good{background:#e9f9ee;border:2px solid #9fe0b4}.fb.bad{background:#fff1f1;border:2px solid #f5b5b5}
.fb .say{width:36px;height:36px;font-size:.9rem}
.hint{background:#fff8d6;border-radius:14px;padding:.6rem .8rem;font-weight:600}
.bins{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;margin-top:1.2rem}
.bin{border:2px solid var(--c);border-radius:16px;overflow:hidden;background:#fff}
.bin-h{background:var(--c);color:#fff;font-weight:800;padding:.35rem .7rem}
.bin-list{display:flex;flex-wrap:wrap;gap:.3rem;padding:.5rem;min-height:2.4rem}
.chip{background:#f3f0fb;border-radius:10px;padding:.15rem .5rem;font-size:.85rem}.chip.late{background:#fff1f1}
.scenario{position:relative;background:linear-gradient(135deg,#fff7e6,#ffeef6);border-radius:20px;padding:1rem 1rem 1rem 3.6rem;font-size:1.12rem;margin-bottom:.8rem;border:2px solid #ffd9a8}
.scenario p{margin:.2rem 0}
.scenario .ask{font-weight:900;font-size:1.2rem}
.scenario .say{position:absolute;left:.7rem;top:.8rem}
.opts{display:grid;gap:.55rem}
.opt{font:inherit;text-align:start;display:flex;gap:.6rem;align-items:center;background:#fff;border:3px solid var(--line);border-radius:16px;padding:.7rem .8rem;cursor:pointer;min-height:56px;color:var(--ink);font-size:1.05rem}
.opt .ol{display:inline-grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#efe9ff;color:var(--pri);font-weight:900;flex-shrink:0}
.opt.ok{border-color:var(--ok);background:#e9f9ee}.opt.ok .ol{background:var(--ok);color:#fff}
.opt.bad{border-color:var(--bad);background:#fff1f1;opacity:.75}
.opt:disabled{cursor:default}
.endscreen{position:relative;overflow:hidden}
.stars{font-size:4rem;letter-spacing:.3rem}
.stars span{color:#e6e1f2}.stars span.on{color:#ffc93c;text-shadow:0 3px 0 #e0a100;display:inline-block;animation:starIn .6s backwards}
.stars span:nth-child(2){animation-delay:.2s}.stars span:nth-child(3){animation-delay:.4s}
@keyframes starIn{from{transform:scale(0) rotate(-90deg)}}
.bigscore{font-size:1.4rem;font-weight:900;margin:.2rem}
.breakdown{list-style:none;padding:0;display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}
.breakdown li{background:#f6f2ff;border-radius:999px;padding:.25rem .8rem;font-weight:700}
.endbtns{display:flex;flex-direction:column;gap:.6rem;align-items:center;margin-top:1rem}
.endbtns .btn{width:min(100%,26rem)}
.confetti{position:absolute;inset:0;pointer-events:none}
.confetti i{position:absolute;top:-10%;left:calc(var(--i)*5.5%);font-style:normal;font-size:1.4rem;animation:fall 2.6s calc(var(--i)*.09s) ease-in forwards;opacity:0}
@keyframes fall{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:0;transform:translateY(520px) rotate(320deg)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* teacher */
.tsec{background:#fff;border-radius:22px;box-shadow:var(--sh);padding:1rem 1.1rem;margin:1rem 0}
.tsec h2{margin-top:0}
.steps{padding-inline-start:1.3rem}.steps li{margin:.35rem 0}
.grp{margin:1rem 0 .4rem;color:var(--pri)}
details.key{border:2px solid var(--line);border-radius:16px;margin:.5rem 0;background:#fff}
details.key summary{cursor:pointer;padding:.6rem .8rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;list-style:none;min-height:48px}
details.key summary::-webkit-details-marker{display:none}
details.key summary::before{content:"◀";font-size:.8rem;color:var(--muted);transition:transform .15s}
details.key[open] summary::before{transform:rotate(-90deg)}
.k-emoji{font-size:1.6rem}.k-goal{flex-basis:100%;font-size:.9rem;color:var(--muted);padding-inline-start:2.4rem}
.k-body{padding:0 .9rem .9rem}
.ktable{border-collapse:collapse;width:100%}.ktable th,.ktable td{border:1px solid var(--line);padding:.35rem .5rem;text-align:start;vertical-align:top}.ktable th{background:#f6f2ff;width:35%}
.kcats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.6rem}.kcat{background:#faf7ff;border-radius:12px;padding:.5rem .7rem}.kcat ul{padding-inline-start:1.1rem;margin:.3rem 0}
.kquiz li{margin:.5rem 0}.ans{color:var(--ok);font-weight:800}
.edtools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
fieldset{border:2px solid var(--line);border-radius:18px;margin:1rem 0;padding:.8rem}
legend{font-weight:900;font-size:1.1rem;padding:0 .4rem}
label{display:block;font-weight:700;margin:.4rem 0}
.in{width:100%;font:inherit;font-weight:400;border:2px solid #d9d2ee;border-radius:12px;padding:.55rem .65rem;background:#fff;min-height:46px;color:var(--ink)}
textarea.in{resize:vertical}
.grid2{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:.6rem}
.rows{display:grid;gap:.5rem;margin:.5rem 0}
.row{display:grid;gap:.4rem;align-items:start;background:#faf8ff;border-radius:14px;padding:.5rem}
.row.pair{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto}
.row.cat{grid-template-columns:5rem minmax(0,1fr)}
.row.item{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,2fr) auto}
@media (max-width:640px){.row.pair,.row.item{grid-template-columns:1fr auto}.row.pair .in[name=def],.row.item .in[name=iwhy],.row.item select{grid-column:1/2}}
.rm{background:#fff;border:2px solid #f5b5b5;color:var(--bad);border-radius:12px;width:44px;height:44px;cursor:pointer;font-weight:900}
.qhead{display:flex;justify-content:space-between;align-items:center}
.opt-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.4fr);gap:.4rem;align-items:center}
@media (max-width:640px){.opt-row{grid-template-columns:auto 1fr}.opt-row .in[name=ofb]{grid-column:1/-1}}
.okl{display:flex;gap:.25rem;align-items:center;margin:0;white-space:nowrap;font-size:.9rem}.okl input{width:22px;height:22px}
.btnrow{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
.edbar{position:sticky;bottom:0;background:rgba(255,248,238,.96);padding:.6rem;border-radius:16px;box-shadow:0 -4px 14px rgba(0,0,0,.08);display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center;z-index:5}
.warn{background:#fff4e5;border:2px solid #ffc27a;border-radius:14px;padding:.6rem .9rem;margin:.6rem 0}
.linkbox{background:#effaf2;border:2px solid #9fe0b4;border-radius:14px;padding:.7rem;margin:.6rem 0;display:grid;gap:.5rem}
.mine-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:.4rem 0}
/* footer */
.site-foot{display:flex;align-items:center;justify-content:center;gap:.7rem;padding:1rem;margin-top:1rem;background:#fff;border-top:3px solid #efe9ff;text-align:center;flex-wrap:wrap}
.site-foot img{width:56px;height:56px;border-radius:12px;object-fit:contain}
.foot-links{font-size:.9rem}
.foot-links a{display:inline-block;padding:.35rem .2rem}
