
:root{--ink:#1e1b4b;--muted:#5b5f7a;--bg:#f5f3ff;--card:#fff;--pri:#4f46e5;--pri2:#6366f1;--ok:#059669;--okbg:#ecfdf5;--bad:#c2410c;--badbg:#fff7ed;--line:#e0dcf5;--shade:#f59e0b;--shade2:#fde68a;--r:16px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Rubik","Assistant","Segoe UI","Arial Hebrew",Arial,sans-serif;background:var(--bg);color:var(--ink);font-size:18px;line-height:1.5}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--pri);color:#fff;box-shadow:0 2px 8px #0002}
.brand{color:#fff;text-decoration:none;font-weight:700;font-size:20px}
.icon-btn{background:#ffffff26;border:0;color:#fff;font-size:22px;border-radius:12px;width:46px;height:46px;cursor:pointer}
main{max-width:720px;margin:0 auto;padding:14px 14px 80px;outline:none}
h1{font-size:26px;margin:8px 0 6px}
h2{font-size:21px;margin:22px 0 8px}
h3{font-size:18px;margin:0 0 6px}
p{margin:6px 0}
.muted{color:var(--muted);font-size:16px}
.card{background:var(--card);border-radius:var(--r);padding:14px;margin:12px 0;box-shadow:0 1px 3px #1e1b4b14,0 4px 14px #1e1b4b0d}
.hero{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}
.hero p{color:#ede9fe}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 18px;border-radius:14px;border:0;background:var(--pri);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;touch-action:manipulation}
.btn:active{transform:scale(.98)}
.btn.sec{background:#ede9fe;color:var(--pri)}
.btn.ghost{background:transparent;color:var(--pri);border:2px solid #c7d2fe}
.btn.big{width:100%;font-size:20px;min-height:60px}
.btn:disabled{opacity:.5}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:var(--r);background:#fff;text-decoration:none;color:var(--ink);box-shadow:0 1px 3px #1e1b4b14;min-height:110px;border:2px solid transparent}
.tile:active{border-color:var(--pri2)}
.tile .em{font-size:30px}
.tile b{font-size:17px}
.tile small{color:var(--muted);font-size:14px;line-height:1.3}
.tile .stars{font-size:13px;color:#b45309}
input.name{width:100%;font:inherit;padding:12px;border-radius:12px;border:2px solid #c7d2fe;margin-top:6px}
.topic-chip{display:inline-block;background:#ede9fe;color:#4338ca;border-radius:999px;padding:2px 10px;font-size:13px;margin:2px}
/* question */
.q{position:relative}
.q .ref{font-size:13px;color:var(--muted);margin-bottom:2px}
.q .stem{font-size:18px}
.q.done-ok{border-inline-start:6px solid var(--ok)}
.q.done-bad{border-inline-start:6px solid var(--bad)}
.vis{margin:10px 0;text-align:center;overflow-x:auto}
.vis svg{max-width:100%;height:auto}
.answer-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}
.ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
.math{direction:ltr;unicode-bidi:isolate;display:inline-flex;align-items:center;gap:6px;font-size:22px;font-weight:600;flex-wrap:wrap}
.fr{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.05;margin:0 2px;font-weight:600}
.fr>span:first-child{border-bottom:2px solid currentColor;padding:0 3px}
.fr>span{display:block;text-align:center;min-width:.8em}
.mx{direction:ltr;unicode-bidi:isolate;display:inline-flex;align-items:center;gap:1px;vertical-align:middle}
.mx>.w{font-size:1.15em;font-weight:700;margin-inline-end:1px}
.fin{direction:ltr;unicode-bidi:isolate;display:inline-flex;align-items:center;gap:6px}
.fin .stack{display:inline-flex;flex-direction:column;align-items:center;gap:3px}
.fin .stack i{display:block;width:62px;height:3px;background:var(--ink);border-radius:2px}
.fin input,.numin{width:62px;height:48px;font:inherit;font-size:22px;font-weight:700;text-align:center;border:2px solid #c7d2fe;border-radius:10px;background:#fbfaff;color:var(--ink)}
.fin input.w{width:54px;height:56px;font-size:26px}
.numin{width:150px;direction:ltr}
.fin input:focus,.numin:focus{outline:3px solid #a5b4fc;border-color:var(--pri)}
.cmp{display:inline-flex;gap:8px}
.cmp button,.opt{font:inherit;cursor:pointer;touch-action:manipulation}
.cmp button{width:56px;height:56px;font-size:28px;font-weight:800;border-radius:14px;border:2px solid #c7d2fe;background:#fff;color:var(--ink)}
.cmp button.sel{background:var(--pri);color:#fff;border-color:var(--pri)}
.slot{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:2px dashed #a5b4fc;border-radius:10px;color:var(--pri);font-size:26px;font-weight:800}
.opts{display:flex;flex-direction:column;gap:8px;margin:8px 0}
.opt{text-align:start;padding:12px 14px;min-height:52px;border-radius:12px;border:2px solid #c7d2fe;background:#fff;color:var(--ink);font-size:17px}
.opt.sel{border-color:var(--pri);background:#eef2ff;box-shadow:inset 0 0 0 1px var(--pri)}
.opt .ck{display:inline-block;width:22px}
.checkbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.fb{margin-top:10px;border-radius:12px;padding:12px;font-size:17px}
.fb.ok{background:var(--okbg);border:2px solid #a7f3d0}
.fb.bad{background:var(--badbg);border:2px solid #fed7aa}
.fb .hd{font-weight:800;font-size:19px;margin-bottom:4px}
.fb.ok .hd{color:var(--ok)}
.fb.bad .hd{color:var(--bad)}
.fb .ans{margin:6px 0;font-weight:600}
.fb ul{margin:6px 0;padding-inline-start:20px}
.fb li{margin:3px 0}
.hint{font-size:15px;color:var(--muted)}
.col{direction:ltr;display:inline-grid;font-family:ui-monospace,"Courier New",monospace;font-size:28px;font-weight:700;gap:2px 0;margin:6px auto;text-align:center}
.col .c{width:34px;height:40px;display:flex;align-items:center;justify-content:center}
.col .carry{font-size:16px;color:#b45309;height:20px}
.col .op{color:var(--pri)}
.col .ln{grid-column:1/-1;height:3px;background:var(--ink)}
.col .ans{border:2px solid #c7d2fe;border-radius:8px;background:#fbfaff}
.col .ans.cur{border-color:var(--pri);background:#eef2ff;box-shadow:0 0 0 3px #c7d2fe}
.col .ans.okd{border-color:#6ee7b7;background:var(--okbg);color:var(--ok)}
.col .x{text-decoration:line-through;color:#9ca3af}
.keypad{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:360px;margin:10px auto;direction:ltr}
.keypad button{height:56px;font:inherit;font-size:24px;font-weight:800;border-radius:12px;border:2px solid #c7d2fe;background:#fff;color:var(--ink);touch-action:manipulation}
.keypad button:active{background:#eef2ff}
.shade-cell{cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0}
.chip{font:inherit;min-height:48px;min-width:64px;padding:4px 10px;border-radius:12px;border:2px solid #c7d2fe;background:#fff;cursor:pointer;color:var(--ink)}
.chip.sel{background:var(--pri);color:#fff;border-color:var(--pri)}
.chip.placed{border-color:#6ee7b7}
.progress{height:12px;background:#e0e7ff;border-radius:99px;overflow:hidden}
.progress>div{height:100%;background:linear-gradient(90deg,#818cf8,#4f46e5);transition:width .3s}
.track{position:relative;height:40px;background:repeating-linear-gradient(90deg,#e5e7eb 0 18px,#fff 18px 36px);border-radius:12px;margin:8px 0;direction:ltr}
.track .car{position:absolute;top:2px;font-size:30px;transition:left .4s;transform:scaleX(-1)}
.track .flag{position:absolute;right:4px;top:4px;font-size:26px}
.stars-big{font-size:34px;letter-spacing:4px;text-align:center}
.sticky-bar{position:sticky;top:66px;z-index:10;background:var(--bg);padding:6px 0}
.navchips{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.navchips a{white-space:nowrap;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;color:var(--ink);font-size:15px}
.pairs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pc{min-height:84px;border-radius:14px;border:2px solid #c7d2fe;background:#fff;font:inherit;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink);touch-action:manipulation}
.pc.back{background:linear-gradient(135deg,#818cf8,#4f46e5);color:#fff;font-size:30px}
.pc.sel{border-color:var(--pri);box-shadow:0 0 0 3px #a5b4fc}
.pc.gone{visibility:hidden}
.pc.shake{animation:shake .35s}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.tf{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.tf .btn{min-height:72px;font-size:24px}
.timer{font-size:22px;font-weight:800;color:var(--pri)}
.rec-item{border-inline-start:6px solid var(--shade)}
.bars{display:flex;flex-direction:column;gap:8px}
.bar-row{display:grid;grid-template-columns:120px 1fr 48px;gap:8px;align-items:center;font-size:15px}
.bar-row .b{height:14px;background:#e5e7eb;border-radius:99px;overflow:hidden}
.bar-row .b>div{height:100%}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-weight:700;z-index:50;opacity:0;transition:opacity .2s;pointer-events:none}
.toast.on{opacity:1}
.ex-box{background:#f8fafc;border-radius:10px;padding:8px 10px;margin:6px 0}
.center{text-align:center}
.small{font-size:15px}
@media (min-width:600px){.grid2{grid-template-columns:1fr 1fr 1fr}}

div.math{display:flex;justify-content:center;margin:6px 0}
