:root{--bg: #ffffff;--ink: #23212b;--muted: #6b6878;--line: #e7e5ee;--soft: #f6f6fb;--accent: #4b4aef;--accent-deep: #2f2dc4;--sans: "IBM Plex Sans Hebrew", system-ui, sans-serif;--mono: "IBM Plex Mono", "IBM Plex Sans Hebrew", ui-monospace, monospace;--bar: 60px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,p,ol,dl,dd{margin:0}ol{padding:0;list-style:none}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.bar{position:fixed;inset:0 0 auto 0;z-index:10;height:var(--bar);display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#ffffffe0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.logo{display:flex;align-items:center;gap:10px;border:0;background:none;padding:4px;font-weight:600;font-size:21px;color:var(--accent)}.logo-mark i{display:block;width:20px;height:5px;margin:2px 0;border-radius:2px;background:var(--accent);transform:skew(-32deg)}.logo-mark i:nth-child(2){opacity:.6}.logo-mark i:nth-child(3){opacity:.3}.bar-end{display:flex;align-items:center;gap:10px}.score{margin-inline-end:6px}.score{font-family:var(--mono);font-size:15px}.score span{color:#e59a00}.btn{display:inline-block;border:0;border-radius:12px;padding:12px 22px;background:var(--accent);color:#fff;font-weight:500;font-size:16px;transition:background .15s}.btn:hover{background:var(--accent-deep)}.btn-small{padding:7px 14px;font-size:15px}.btn-quiet{background:#ecebf3;color:var(--ink)}.btn-quiet:hover{background:#dedcea}.level{height:100dvh;padding-top:var(--bar);display:grid;grid-template-columns:minmax(340px,430px) minmax(0,1fr)}.side{display:flex;flex-direction:column;justify-content:safe center;gap:18px;padding:28px 32px;overflow-y:auto;border-inline-end:1px solid var(--line);background:#fff}.stage{position:relative;min-width:0;min-height:0}.stage canvas{touch-action:none}.drag-hint{position:absolute;inset:auto 0 14px 0;text-align:center;font-size:13px;color:var(--muted);pointer-events:none}h1{font-size:clamp(32px,3.4vw,46px);font-weight:400;line-height:1.1;letter-spacing:-.02em;text-wrap:balance}.lead{font-size:18px;color:#464353}.back{align-self:flex-start;border:0;background:none;padding:4px 0;font-size:15px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.back:hover{color:var(--accent)}.kicker{font-size:14px;font-weight:500;color:var(--accent)}.dots{display:flex;gap:6px}.dots span{width:26px;height:5px;border-radius:3px;background:var(--line);transition:background .3s}.dots .on{background:var(--accent)}.dots .now{background:#b9b8ff}.task{font-size:clamp(21px,1.9vw,26px);font-weight:400;line-height:1.3;letter-spacing:-.01em}.code{margin:0;padding:12px 14px;border-radius:10px;background:var(--soft);font-family:var(--mono);font-size:15px;line-height:1.6;text-align:left;white-space:pre-wrap;unicode-bidi:plaintext}.side>.btn{align-self:flex-start}.item-name{padding:14px 16px;border-radius:12px;background:#fff4d6;font-size:20px;font-weight:500}.note{min-height:4.6em;padding:12px 14px;border-radius:10px;font-size:16px}.note:empty{visibility:hidden}.note.good{background:#e3f6e9;color:#125c30}.note.bad{background:#fde9e7;color:#a3231c}.note:not(.good):not(.bad){background:var(--soft)}.phase{font-size:13px;color:var(--muted)}.parts{display:flex;flex-wrap:wrap;gap:8px}.part{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;font-size:16px;transition:background .15s,border-color .15s}.part:hover{border-color:var(--accent)}.part.seen{background:#eef;border-color:#d6d6ff}.part[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.card{min-height:9.5em;padding:16px 18px;border-radius:14px;background:var(--soft)}.card h3{margin:0;font-size:24px;font-weight:500}.card-term{margin:2px 0 8px;font-size:14px;color:var(--accent-deep)}.card-empty{color:var(--muted)}.code-note{margin-bottom:6px;font-size:14px;color:var(--muted)}.btn:disabled{background:#ecebf3;color:var(--muted);cursor:default}.win{display:flex;flex-direction:column;gap:14px}.stars{font-size:46px;line-height:1;letter-spacing:6px;color:var(--line)}.stars .on{color:#f5a700}.win-sub{color:var(--muted)}.learned>div{padding:10px 0;border-top:1px solid var(--line)}.learned dt{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--accent-deep);text-align:right}.win-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.level-list{border-top:1px solid var(--line)}.level-list button{width:100%;display:grid;grid-template-columns:22px 1fr auto;align-items:baseline;gap:10px;padding:11px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:start}.level-num{font-family:var(--mono);font-size:13px;color:var(--accent)}.level-title{font-size:18px;font-weight:500}.level-sub{font-size:14px;color:var(--muted)}.level-list button:hover:not(:disabled) .level-title{color:var(--accent)}.level-list button:disabled{cursor:default;opacity:.45}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.drawer-shade{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#23212b59;cursor:default}.drawer-panel{position:absolute;inset-block:0;inset-inline-start:0;width:min(560px,100%);padding:24px 28px 40px;overflow-y:auto;background:#fff;box-shadow:-30px 0 60px -30px #2f2dc459}.drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.drawer-head h2{font-size:34px;font-weight:400}.search input{width:100%;padding:14px 18px;border:2px solid var(--line);border-radius:12px;font:inherit;font-size:17px;color:var(--ink);background:#fff}.search input:focus{outline:none;border-color:var(--accent)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 14px;font-size:15px}.chip:hover{background:var(--soft)}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.term-row{padding:14px 0;border-top:1px solid var(--line)}.term-row dt{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.term-en{font-family:var(--mono);font-weight:500;font-size:16px;color:var(--accent-deep)}.term-he{font-size:15px;color:var(--muted)}.term-row dd{margin-top:2px}.glossary-empty{padding:24px 0;font-size:18px}@media (max-width: 860px){.level{grid-template-columns:minmax(0,1fr);grid-template-rows:38dvh minmax(0,1fr)}.stage{order:-1;border-bottom:1px solid var(--line)}.side{justify-content:flex-start;gap:12px;padding:18px 20px 28px;border:0}.note{min-height:0}.task{font-size:19px}.kicker,.phase{display:inline}.side>.back:first-child{display:none}.card{min-height:0}.bar{padding:0 12px}.logo{font-size:18px}.drag-hint{bottom:6px;font-size:12px}h1{font-size:28px}.lead{font-size:16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important}}.bar .btn{white-space:nowrap}@media (max-width: 480px){.bar{padding:0 10px}.bar-end{gap:6px}.bar .btn-small{padding:6px 10px;font-size:13px}.score{font-size:13px;margin-inline-end:2px;white-space:nowrap}.logo{gap:6px;font-size:17px}}@media (max-width: 340px){.score{display:none}}.restart{margin-top:auto}.card-word{font-family:var(--mono);color:var(--accent-deep);text-align:right}span.logo{cursor:default}.hint{padding:12px 14px;border-radius:10px;background:#fff4d6;font-size:16px}.hint p+p{margin-top:6px}.hint-title{font-size:13px;font-weight:600;color:#8a5a00}.part:disabled{cursor:default;color:var(--muted);background:#f1f0f4;border-color:var(--line);text-decoration:line-through}.term-link{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--accent-deep);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:help}.term-link:hover,.term-link[aria-expanded=true]{color:var(--accent);text-decoration-style:solid}.note .term-link{color:inherit}.term-pop{position:fixed;z-index:40;width:min(320px,calc(100vw - 16px));padding:14px 16px;background:#fff;border:1.5px solid var(--accent);border-radius:14px;box-shadow:0 24px 50px -24px #2f2dc48c;font-size:16px;line-height:1.5;color:var(--ink);text-align:start;direction:rtl}.term-pop-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:6px}.term-pop-room{margin-top:8px;font-size:14px;color:var(--muted)}.term-pop .back{margin-top:8px;font-size:14px}.milon{height:100dvh;overflow-y:auto;padding:calc(var(--bar) + 44px) max(24px,calc((100vw - 1180px)/2)) 96px}.milon-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin-bottom:36px}.milon-hero h1{font-size:clamp(56px,9vw,120px);line-height:.95;margin:6px 0 18px}.milon-hero .lead{max-width:46ch}.milon-stack{position:relative;width:190px;height:210px;margin-inline-end:40px}.milon-stack i{position:absolute;left:0;bottom:0;width:190px;height:110px;border-radius:22px;border:2px solid var(--accent);background:#fff;transform:translateY(calc(var(--k) * -22px)) rotateX(58deg) rotate(45deg);transition:transform .6s cubic-bezier(.2,.8,.2,1)}.milon-stack i:nth-child(1){--k: 0;background:var(--accent)}.milon-stack i:nth-child(2){--k: 1;background:#d6d6ff}.milon-stack i:nth-child(3){--k: 2;background:#eef}.milon-stack i:nth-child(4){--k: 3;background:radial-gradient(circle,rgba(75,74,239,.35) 1px,transparent 1.4px) 0 0 / 8px 8px,#fff}.milon-hero:hover .milon-stack i{transform:translateY(calc(var(--k) * -44px)) rotateX(58deg) rotate(45deg)}.milon-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.milon-tools .search{flex:1 1 280px}.milon-tools .search input{height:100%}.milon .chip-row{margin:16px 0 8px}.chip-count{margin-inline-start:4px;font-family:var(--mono);font-size:12px;opacity:.65}.milon-group{margin-top:56px}.milon-group>header{display:flex;align-items:baseline;gap:14px;padding-bottom:14px;margin-bottom:26px;border-bottom:1px solid var(--line)}.milon-group h2{font-size:clamp(30px,3.4vw,44px);font-weight:400;letter-spacing:-.015em}.milon-group>header p{color:var(--muted)}.milon-count{margin-inline-start:auto;font-family:var(--mono);font-size:14px;color:var(--accent)}.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px 22px}.mcard{position:relative}.mcard-layer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.mcard-layer:nth-child(1){background:var(--accent)}.mcard-layer:nth-child(2){background:#d6d6ff}.mcard-face{position:relative;height:100%;padding:18px 18px 16px;border-radius:16px;background:#fff;border:1.5px solid var(--line);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .2s}.mcard:hover .mcard-face,.mcard:focus-within .mcard-face,.mcard.is-lit .mcard-face{transform:translate(6px,-6px);border-color:var(--accent)}.mcard:hover .mcard-layer:nth-child(1),.mcard:focus-within .mcard-layer:nth-child(1),.mcard.is-lit .mcard-layer:nth-child(1){transform:translate(-6px,6px)}.mcard.is-lit .mcard-face{background:#fff4d6}.mcard-en{font-family:var(--mono);font-weight:500;font-size:20px;color:var(--accent-deep);text-align:right}.mcard h3{margin:2px 0 8px;font-size:15px;font-weight:400;color:var(--muted)}.mcard-text{font-size:16px}.mcard-room{margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);font-size:13px;color:var(--muted)}.mcard-room.is-met{color:#14713a}@media (max-width: 860px){.milon{padding-top:calc(var(--bar) + 24px);padding-inline:18px}.milon-hero{grid-template-columns:minmax(0,1fr)}.milon-stack{display:none}.milon-group{margin-top:40px}.milon-group>header p{display:none}}
