@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/FrankRuhlLibre-hebrew-500.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/FrankRuhlLibre-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/FrankRuhlLibre-hebrew-500.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Frank Ruhl Libre';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/FrankRuhlLibre-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Noto Sans Hebrew';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/NotoSansHebrew-hebrew.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Noto Sans Hebrew';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/NotoSansHebrew-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Noto Sans Hebrew';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/NotoSansHebrew-hebrew.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Noto Sans Hebrew';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/NotoSansHebrew-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Noto Sans Hebrew';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/NotoSansHebrew-hebrew.woff2) format('woff2');unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;}
@font-face{font-family:'Noto Sans Hebrew';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/NotoSansHebrew-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
:root{--ink:#1e1b4b;--muted:#5b5b7a;--bg:#f5f3ff;--card:#fff;--line:#e4e1f5;--pri:#4f46e5;--pri2:#4338ca;--ok:#059669;--okbg:#d1fae5;--no:#dc2626;--nobg:#fee2e2;
--g0:#059669;--g1:#4f46e5;--g2:#7c3aed;--g3:#d97706;--g4:#e11d48;--r:18px;--shadow:0 6px 24px rgba(49,46,129,.10);
--sans:'Noto Sans Hebrew',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--serif:'Frank Ruhl Libre','Noto Serif Hebrew','Times New Roman',serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--bg);background-image:radial-gradient(circle at 100% 0,#e0e7ff 0,transparent 40%),radial-gradient(circle at 0 30%,#fce7f3 0,transparent 35%);background-attachment:fixed;line-height:1.65;font-size:17px;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--pri2)}
.skip{position:absolute;inset-inline-start:-999px}.skip:focus{inset-inline-start:8px;top:8px;background:#fff;padding:8px;z-index:99}
:focus-visible{outline:3px solid #f59e0b;outline-offset:2px;border-radius:8px}
.nq,.q-word,.nq-soft{font-family:var(--serif);font-feature-settings:"kern";line-height:1.9}
.nq-soft{font-size:1.12em}
/* top bar */
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:rgba(49,46,129,.94);backdrop-filter:blur(8px);color:#fff}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800}
.logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,#818cf8,#f472b6);display:grid;place-items:center;font-family:var(--serif);font-size:22px}
.xp{background:rgba(255,255,255,.15);padding:4px 12px;border-radius:999px;font-weight:700;transition:transform .2s}
.xp.pop{animation:pop .4s}
@keyframes pop{50%{transform:scale(1.25)}}
main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:16px 14px 32px}
main:focus{outline:none}
.site-foot{text-align:center;padding:18px 12px calc(18px + env(safe-area-inset-bottom));color:var(--muted);border-top:1px solid var(--line);background:rgba(255,255,255,.6)}
.credit{font-weight:800;color:var(--ink);font-size:1.02rem}
.foot-sub{font-size:.85rem}
/* hero */
.hero{background:linear-gradient(135deg,#312e81 0%,#6d28d9 55%,#db2777 100%);color:#fff;border-radius:24px;padding:26px 20px 22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.hero:after{content:"ב נ י ן";position:absolute;inset-inline-end:-10px;bottom:-30px;font-family:var(--serif);font-size:110px;opacity:.08;letter-spacing:8px}
.hero h1{font-family:var(--serif);font-size:clamp(1.9rem,7vw,2.7rem);line-height:1.5;margin:.3em 0 .2em}
.hero p{margin:0 0 .6em;opacity:.95}
.hero-badge{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);padding:3px 12px;border-radius:999px;font-size:.85rem;font-weight:600}
.credit-hero{font-weight:700;margin-top:6px;font-size:.95rem;opacity:.95}
/* path of gates */
.path{display:flex;flex-direction:column;gap:14px;margin-top:18px;position:relative}
.gate{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);border-inline-start:6px solid var(--gc);transition:transform .15s}
.gate:active{transform:scale(.98)}
.gate.dim{opacity:.8}
.g0{--gc:var(--g0)}.g1{--gc:var(--g1)}.g2{--gc:var(--g2)}.g3{--gc:var(--g3)}.g4{--gc:var(--g4)}
.gate-icon{flex:none;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:color-mix(in srgb,var(--gc) 14%,#fff)}
.gate-icon.big{width:70px;height:70px;font-size:38px;margin:0 auto 6px;background:rgba(255,255,255,.2)}
.gate-body{flex:1;min-width:0}
.gate-title{font-weight:800;font-size:1.08rem}
.gate-sub{color:var(--muted);font-size:.9rem;line-height:1.45}
.gate-meta{font-size:.8rem;color:var(--muted);margin-top:2px}
.gate-go{font-size:1.4rem;color:var(--gc);font-weight:800}
.bar{height:8px;background:#eeecf9;border-radius:99px;overflow:hidden;margin-top:8px}.bar span{display:block;height:100%;background:var(--gc);border-radius:99px;transition:width .5s}
.home-foot{text-align:center;margin-top:20px;color:var(--muted);font-size:.9rem}
.link{background:none;border:0;color:var(--pri2);text-decoration:underline;font:inherit;cursor:pointer;padding:4px}
/* gate page */
.back{display:inline-block;margin-bottom:10px;text-decoration:none;font-weight:700;color:var(--muted);padding:6px 4px}
.gate-head{color:#fff;text-align:center;border-radius:24px;padding:22px 16px;background:linear-gradient(135deg,var(--gc),color-mix(in srgb,var(--gc) 60%,#1e1b4b));box-shadow:var(--shadow)}
.gate-head h1{margin:.1em 0;font-size:1.5rem;line-height:1.4}.gate-head p{margin:0;opacity:.92}
.stations{display:flex;flex-direction:column;gap:10px;margin:16px 0}
.station{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:14px;text-decoration:none;color:var(--ink);box-shadow:0 2px 10px rgba(49,46,129,.07);font-weight:600}
.st-num{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eeecf9;font-weight:800;color:var(--pri2)}
.station.done .st-num{background:var(--ok);color:#fff}
.st-title{flex:1}.st-best{font-size:.85rem;color:var(--ok);font-weight:800}
/* cards */
.card{background:var(--card);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);margin:14px 0}
.page-title{font-size:1.45rem;line-height:1.4;margin:.2em 0 .4em}
.lesson-card h3{margin-top:0;font-size:1.15rem}
.lesson-card p,.lesson-card li{line-height:1.8}
.note{background:#fef3c7;border-radius:12px;padding:10px 12px;font-size:.95rem}
.family{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#eef2ff;border-radius:14px;padding:12px}
.root-chip{background:var(--pri);color:#fff;font-weight:800;padding:4px 14px;border-radius:999px;font-size:1.1rem}
.words{font-size:1.25rem}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;margin:8px 0;font-size:.98rem}
.tbl th,.tbl td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}
.tbl th{background:#f5f3ff;font-weight:700;font-size:.9rem}
.tbl td.nq{font-size:1.15rem}
.tbl.conj td.big{font-size:1.5rem}
.ex-list{padding-inline-start:20px}
.convert{background:#f5f3ff;border-radius:14px;padding:12px;text-align:center;font-size:1.05rem}.convert .arrow{color:var(--pri);font-size:1.3rem}
.lesson-end{text-align:center;margin:20px 0}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--pri);color:#fff;border:0;border-radius:14px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;min-height:48px;box-shadow:0 4px 0 var(--pri2);transition:transform .08s,box-shadow .08s}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--pri2)}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:#fff;color:var(--pri2);box-shadow:0 0 0 2px #c7d2fe inset,0 3px 0 #c7d2fe}
.btn.big{font-size:1.15rem;padding:14px 28px;width:100%}
.next-gate{width:100%}
.row-btns{display:flex;gap:10px;justify-content:space-between;margin-top:14px;flex-wrap:wrap}
.row-btns .btn{flex:1}
.row-btns.col{flex-direction:column}
/* quiz */
.qbar{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.qprog{flex:1;height:10px;background:#e7e5f7;border-radius:99px;overflow:hidden}.qprog span{display:block;height:100%;width:0;background:linear-gradient(90deg,#818cf8,#4f46e5);transition:width .4s}
.qcount{font-size:.85rem;color:var(--muted);white-space:nowrap}
.qcard{min-height:260px}
.q-text{font-weight:700;font-size:1.08rem;line-height:1.6}
.q-word{font-size:clamp(2.3rem,11vw,3.2rem);text-align:center;margin:10px 0 6px;color:#312e81;line-height:1.75}
.opts{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
@media(min-width:520px){.opts.many{grid-template-columns:1fr 1fr}}
.opt{background:#fff;border:2px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;font-size:1.22rem;text-align:start;cursor:pointer;color:var(--ink);min-height:52px;line-height:1.7;transition:border-color .15s,background .15s}
.opt:hover:not(:disabled){border-color:#a5b4fc;background:#f8f7ff}
.opt.right{border-color:var(--ok);background:var(--okbg)}
.opt.wrong{border-color:var(--no);background:var(--nobg)}
.opt:disabled{cursor:default}
.passage{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;padding:12px 14px;margin-bottom:12px;font-family:var(--serif);font-size:1.12rem;line-height:2}
.passage .hl{color:#9a3412;background:#ffedd5;border-radius:4px;padding:0 2px}
.root-form{display:flex;gap:10px;margin-top:16px}
.root-in{flex:1;min-width:0;font:inherit;font-size:1.3rem;padding:10px 14px;border-radius:14px;border:2px solid var(--line);text-align:center;letter-spacing:4px}
.root-in.right{border-color:var(--ok);background:var(--okbg)}.root-in.wrong{border-color:var(--no);background:var(--nobg)}
.shake{animation:shake .35s}@keyframes shake{25%{transform:translateX(6px)}75%{transform:translateX(-6px)}}
.hint{margin-top:10px;color:var(--muted)}
.open-in{width:100%;font:inherit;border-radius:14px;border:2px solid var(--line);padding:10px;margin:12px 0}
/* feedback sheet */
.sheet-wrap{position:fixed;inset:0;background:rgba(30,27,75,.35);display:flex;align-items:flex-end;justify-content:center;z-index:50;opacity:0;transition:opacity .2s}
.sheet-wrap.in{opacity:1}
.sheet{background:#fff;width:100%;max-width:760px;border-radius:24px 24px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));transform:translateY(40px);transition:transform .25s;border-top:6px solid var(--pri);max-height:80vh;overflow:auto}
.sheet-wrap.in .sheet{transform:none}
.sheet.ok{border-color:var(--ok)}.sheet.no{border-color:var(--no)}
.sheet-title{font-size:1.3rem;font-weight:800;margin-bottom:6px}
.sheet.ok .sheet-title{color:var(--ok)}.sheet.no .sheet-title{color:var(--no)}
.sheet-why{font-size:1.05rem;line-height:1.8;margin-bottom:14px;font-family:var(--sans)}
.sheet .btn{width:100%}
.self{font-weight:700;margin-top:6px}
/* end */
.end{text-align:center}
.end-score{font-size:3.2rem;font-weight:800;color:var(--muted)}.end-score.ok{color:var(--ok)}
.end-msg{font-weight:700}
.medal{font-size:3rem}
.summary{display:grid;gap:10px;margin:14px 0;text-align:start}
@media(min-width:560px){.summary{grid-template-columns:1fr 1fr}}
.sum-box{border-radius:14px;padding:12px 14px}.sum-box h3{margin:0 0 4px;font-size:1.05rem}.sum-box ul{margin:0;padding-inline-start:20px}
.keep{background:var(--okbg)}.improve{background:#fef3c7}
.muted{color:var(--muted)}
/* friend cards */
.binyan-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 8px;scrollbar-width:none}
.binyan-tabs::-webkit-scrollbar{display:none}
.dot{flex:none;font-family:var(--serif);background:#fff;border-radius:999px;padding:4px 12px;text-decoration:none;color:var(--ink);border:2px solid var(--line);font-size:1.05rem;line-height:1.8}
.dot.on{background:var(--pri);color:#fff;border-color:var(--pri)}
.friend{border-top:6px solid var(--pri)}
.friend-head{display:flex;gap:12px;align-items:center}
.friend-ava{width:56px;height:56px;border-radius:50%;background:#eef2ff;display:grid;place-items:center;font-size:30px}
.friend-name{font-size:2rem;font-weight:700;line-height:1.6}
.friend-kind{display:inline-block;background:#eef2ff;color:var(--pri2);border-radius:999px;padding:0 10px;font-size:.85rem;font-weight:700}
.friend-say{background:#f5f3ff;border-radius:16px 16px 16px 4px;padding:12px 14px;font-size:1.02rem}
.signs li{margin-bottom:6px;line-height:1.9}
.signs .nq{font-size:1.15em}
.tips details{border-top:1px solid var(--line);padding:8px 0}.tips summary{font-weight:700;cursor:pointer}
/* build */
.intro-p{color:var(--muted);margin-top:0}
.spec{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:#eef2ff;border-radius:999px;padding:4px 12px;font-size:.95rem}
.slot{margin:18px 0;min-height:76px;border:3px dashed #c7d2fe;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:2.3rem;font-weight:800;letter-spacing:1px;background:#fafaff}
.slot.right{border-color:var(--ok);border-style:solid;background:var(--okbg)}.slot.wrong{border-color:var(--no);border-style:solid;background:var(--nobg)}
.caret{width:3px;height:40px;background:var(--pri);margin-inline-start:4px;animation:blink 1s infinite}
@keyframes blink{50%{opacity:0}}
.tiles{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.tile{min-width:56px;min-height:56px;font:inherit;font-size:1.6rem;font-weight:800;background:#fff;border:2px solid #c7d2fe;border-bottom-width:5px;border-radius:14px;cursor:pointer;color:var(--ink);padding:0 12px}
.tile:disabled{opacity:.25}
/* escape room */
main.dark,.dark{}
body:has(main.dark){background:#1e1b3a}
main.dark{color:#ede9fe}
main.dark .back{color:#c4b5fd}
main.dark .page-title,main.dark h1,main.dark h2{color:#fff}
main.dark .card{background:#2e2a5a;color:#ede9fe;box-shadow:0 8px 30px rgba(0,0,0,.35)}
main.dark .qcard{background:#fff;color:var(--ink)}
main.dark .escape-intro p{color:#ddd6fe}
.doors{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
@media(min-width:560px){.doors{grid-template-columns:repeat(3,1fr)}}
.door{display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 10px;border-radius:18px 18px 8px 8px;text-decoration:none;color:#fff;background:linear-gradient(#5b21b6,#3b0764);border:2px solid #7c3aed;text-align:center;min-height:140px;justify-content:center}
.door.open{box-shadow:0 0 0 3px #fbbf24,0 0 24px rgba(251,191,36,.5);animation:glow 1.6s infinite}
@keyframes glow{50%{box-shadow:0 0 0 3px #fbbf24,0 0 6px rgba(251,191,36,.2)}}
.door.solved{background:linear-gradient(#047857,#064e3b);border-color:#10b981}
.door.locked{opacity:.6;filter:grayscale(.5)}
.door-icon{font-size:2rem}.door-num{font-size:.8rem;opacity:.85}.door-name{font-weight:700;font-size:.95rem;line-height:1.35}
.win{text-align:center;font-weight:700}
.room-head{display:flex;align-items:center;gap:12px}.room-icon{font-size:2.6rem}.room-num{color:#c4b5fd;font-size:.9rem}.room-head h1{margin:0;font-size:1.4rem}
.clue h3{margin-top:0;color:#fde68a}.clue .tip{background:rgba(255,255,255,.07);border-radius:10px;padding:6px 10px;margin:6px 0}
.tag-label{display:inline-block;margin-top:6px;font-size:.8rem;background:rgba(255,255,255,.12);border-radius:999px;padding:1px 10px}
.lock{display:flex;justify-content:center;gap:10px;margin:8px 0;font-size:1.9rem}
.pin{transition:transform .3s}.pin.unlocked{animation:pop .5s}
.door-open{font-size:3.4rem}
/* sort */
.pool{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;min-height:56px;background:#fff;border-radius:16px;padding:12px;box-shadow:var(--shadow)}
.chip-word{font:inherit;font-weight:700;font-size:1.1rem;background:#fff7ed;border:2px solid #fed7aa;border-radius:12px;padding:6px 14px;cursor:pointer;color:var(--ink);min-height:44px}
.chip-word.sel{background:#f59e0b;color:#fff;border-color:#d97706;transform:scale(1.06)}
.bins{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
@media(min-width:560px){.bins{grid-template-columns:1fr 1fr}}
.bin{font:inherit;text-align:start;background:#fff;border:2px dashed #fcd34d;border-radius:16px;padding:10px 12px;cursor:pointer;min-height:64px;color:var(--ink)}
.bin-name{display:block;font-weight:800;color:#b45309;margin-bottom:4px}
.bin-items{display:flex;flex-wrap:wrap;gap:6px}
.mini{background:#fef3c7;border-radius:8px;padding:2px 8px;font-size:.95rem}
.mini.right{background:var(--okbg)}.mini.wrong{background:var(--nobg);text-decoration:line-through}
.fix{text-align:start}.explain-ways{text-align:start;font-size:.92rem;color:var(--muted)}
/* race */
.track{position:relative;height:40px;background:repeating-linear-gradient(90deg,#fecdd3 0 14px,#fff 14px 28px);border-radius:999px;margin:8px 0;border:2px solid #fda4af}
.runner{position:absolute;top:2px;inset-inline-start:4%;font-size:1.6rem;transition:inset-inline-start .5s}
.flag{position:absolute;top:2px;inset-inline-end:6px;font-size:1.6rem}
/* confetti */
.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 2.2s ease-in forwards}
@keyframes fall{to{top:105vh;transform:rotate(720deg)}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}

body:has(main.dark) .site-foot{background:#151230;color:#c4b5fd;border-color:#2e2a5a}
body:has(main.dark) .credit{color:#fff}
