:root{--u: 16px;--ink: #17303f;--ink-soft: #55707f;--paper: #fffdf7;--paper-line: #cfe3ef;--paper-line-strong: #a8cfe3;--chrome: #12384a;--chrome-2: #1b4c63;--pink: #e6007e;--cyan: #00a3dd;--green: #1f9d55;--amber: #f2a71b;--red: #d4322c;--chart-ok: #0089bd;--chart-no: #e6007e;--shadow: 0 2px 0 rgba(0, 0, 0, .14);--radius: 14px;--tap: 56px;color-scheme:light;font-family:Noto Naskh Arabic,Sakkal Majalla,Arabic Typesetting,Geeza Pro,Al Bayan,Amiri,Times New Roman,serif}:root.large{--u: 20px;--tap: 64px}@media (min-width: 900px){:root{--u: 18px}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--chrome);color:var(--ink);font-size:var(--u);-webkit-text-size-adjust:100%;overscroll-behavior:none}#app{height:100%}.screen{height:100%;display:grid;direction:rtl}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.screen-pupils{grid-template-rows:auto 1fr auto;background:radial-gradient(120% 90% at 50% 0%,var(--chrome-2),var(--chrome));color:#eaf5fb;overflow-y:auto;padding:calc(var(--u) * 1.2);gap:calc(var(--u) * 1.2)}.front{text-align:center}.wordmark{margin:0;font-size:calc(var(--u) * 2.2);letter-spacing:.01em}.front-sub{margin:calc(var(--u) * .3) 0 0;color:#9fc6da;font-size:calc(var(--u) * .95)}.pupil-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--u);align-content:center}.pupil-empty{align-self:center;text-align:center;color:#9fc6da;font-size:calc(var(--u) * 1.05);line-height:1.8}.pupil-card{display:grid;justify-items:center;gap:4px;padding:var(--u);border:2px solid rgba(255,255,255,.16);border-radius:var(--radius);background:#ffffff12;color:inherit}.pupil-card:hover{background:#ffffff24}.pupil-face{font-size:calc(var(--u) * 2.6)}.pupil-name{font-size:calc(var(--u) * 1.15)}.pupil-sub{font-size:calc(var(--u) * .8);color:#9fc6da}.new-pupil{border-top:1px solid rgba(255,255,255,.16);padding-top:var(--u)}.new-title{margin:0 0 calc(var(--u) * .5);color:#9fc6da}.face-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:calc(var(--u) * .6)}.face{width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);border-radius:50%;border:2px solid transparent;background:#ffffff14;font-size:calc(var(--u) * 1.2);line-height:1}.face.is-on{border-color:var(--amber);background:#f2a71b33}.new-row{display:flex;gap:8px}.name-input{flex:1;min-width:0;padding:0 calc(var(--u) * .7);height:var(--tap);border-radius:var(--radius);border:2px solid rgba(255,255,255,.2);background:#fffffff2;color:var(--ink);font:inherit;font-size:calc(var(--u) * 1.1)}.btn{min-height:var(--tap);padding:0 calc(var(--u) * 1.2);border:none;border-radius:var(--radius);background:#e7eef3;color:var(--ink);font-size:calc(var(--u) * 1.05);box-shadow:var(--shadow)}.btn:active{transform:translateY(1px);box-shadow:none}.btn-go,.btn-check{background:var(--cyan);color:#fff}.btn-next{background:var(--green);color:#fff}.btn[disabled]{opacity:.45;box-shadow:none;cursor:default}.btn-danger{background:#f7dedd;color:var(--red)}.icon-btn{width:calc(var(--tap) * .82);height:calc(var(--tap) * .82);border:none;border-radius:50%;background:#ffffff1f;color:#eaf5fb;font-size:calc(var(--u) * 1.2);display:grid;place-items:center}.icon-btn.is-quiet{background:none}.fs-icon{width:calc(var(--u) * 1.15);height:calc(var(--u) * 1.15);display:block}.screen-work{grid-template-rows:auto minmax(0,1fr) auto}.bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:calc(var(--u) * .6);padding:calc(var(--u) * .5) calc(var(--u) * .7);background:var(--chrome);color:#eaf5fb;padding-top:calc(var(--u) * .5 + env(safe-area-inset-top,0px))}.bar-mid{min-width:0;display:grid;gap:2px;justify-items:center}.bar-mid h2{margin:0;font-size:calc(var(--u) * 1.15)}.lesson-chip{display:flex;gap:calc(var(--u) * .4);align-items:baseline;min-width:0;max-width:100%}.lesson-n{color:var(--amber);font-size:calc(var(--u) * .85);white-space:nowrap;flex:none}.lesson-title{font-size:calc(var(--u) * .95);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.bar{overflow:hidden}.stars{display:flex;gap:1px;font-size:calc(var(--u) * .85);color:#ffffff4d;direction:ltr}.star.is-on{color:var(--amber)}.paper{overflow-y:auto;background:var(--paper);background-image:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px);background-size:calc(var(--u) * 1.4) calc(var(--u) * 1.4);padding:calc(var(--u) * .8);box-shadow:inset 0 6px 10px -8px #0000004d}.paper-inner{position:relative;min-height:100%}.stamps,.play-layer{position:absolute;inset:0;pointer-events:none}.play-layer.is-placing,.play-layer.is-balloons{pointer-events:auto}.paper.is-placing{cursor:crosshair}.page-head{display:flex;align-items:center;gap:calc(var(--u) * .5);padding-bottom:calc(var(--u) * .4);border-bottom:2px solid var(--pink);margin-bottom:calc(var(--u) * .6);font-size:calc(var(--u) * .9);color:var(--ink-soft)}.page-face{font-size:calc(var(--u) * 1.3)}.page-name{color:var(--ink);font-size:calc(var(--u) * 1.05)}.page-date{margin-inline-start:auto;direction:ltr}.lines{display:grid;gap:2px;margin-bottom:calc(var(--u) * .6)}.line{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:calc(var(--u) * .4);align-items:baseline;font-size:calc(var(--u) * .85);color:var(--ink-soft);padding:2px calc(var(--u) * .3);border-radius:6px}.line-mark{font-weight:700;color:var(--green)}.line.is-wrong .line-mark,.line.is-wrong .line-answer{color:var(--red)}.line-prompt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line-answer{color:var(--cyan)}.task{position:relative;background:#ffffffe6;border:2px solid var(--paper-line-strong);border-radius:var(--radius);padding:calc(var(--u) * .8);display:grid;gap:calc(var(--u) * .6)}.task-head{display:flex;gap:calc(var(--u) * .4);align-items:center;flex-wrap:wrap}.rubric{background:var(--pink);color:#fff;padding:2px calc(var(--u) * .6);border-radius:999px;font-size:calc(var(--u) * .85)}.level,.reason{font-size:calc(var(--u) * .78);color:var(--ink-soft);border:1px solid var(--paper-line-strong);border-radius:999px;padding:1px calc(var(--u) * .5)}.reason{border-color:var(--amber);color:#8a5c00;background:#fff6e2}.story{margin:0;font-size:calc(var(--u) * 1.05);color:var(--ink-soft)}.prompt{margin:0;font-size:calc(var(--u) * 1.25);line-height:1.7;display:flex;gap:calc(var(--u) * .4);align-items:center}.speak-btn{flex:none;width:calc(var(--u) * 2);height:calc(var(--u) * 2);border:none;border-radius:50%;background:#e2f4fb;font-size:calc(var(--u) * .95);line-height:1}.feedback{margin:0;min-height:calc(var(--u) * 1.6);font-size:calc(var(--u) * 1.02)}.feedback.is-right{color:var(--green)}.feedback.is-wrong{color:var(--red)}.feedback.is-hint{color:#8a5c00}.stem:empty{display:none}.stem{display:flex;justify-content:center;flex-wrap:wrap;gap:calc(var(--u) * .5)}.stem-text{font-size:calc(var(--u) * 2);font-weight:700;unicode-bidi:isolate}.dots{display:inline-flex;flex-wrap:wrap;gap:calc(var(--u) * .25);justify-content:center;max-width:100%}.dots.is-empty{min-width:calc(var(--u) * 3);min-height:calc(var(--u) * 2)}.dot{font-size:calc(var(--u) * 1.7);line-height:1.1}.dots.is-grouped{gap:calc(var(--u) * .5)}.bundle{display:inline-flex;flex-wrap:wrap;gap:2px;padding:calc(var(--u) * .2);border:2px dashed var(--paper-line-strong);border-radius:10px;max-width:calc(var(--u) * 7)}.bundle.is-full{border-style:solid;border-color:var(--cyan);background:#eaf8fd}.set-ring{display:inline-grid;gap:4px;padding:calc(var(--u) * .5);border:3px solid var(--ink);border-radius:45% 55% 50% 50%/55% 45%;min-width:calc(var(--u) * 4);min-height:calc(var(--u) * 3);place-content:center}.set-label{font-size:calc(var(--u) * .8);color:var(--ink-soft);text-align:center;unicode-bidi:isolate}.set-items{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;max-width:calc(var(--u) * 9)}.stem-pair{display:inline-flex;align-items:center;gap:calc(var(--u) * .6);flex-wrap:wrap;justify-content:center}.pair-sign{font-size:calc(var(--u) * 1.8);color:var(--pink);unicode-bidi:isolate;min-width:calc(var(--u) * 1.4);text-align:center}.queue{display:inline-flex;align-items:flex-end;gap:calc(var(--u) * .3);flex-wrap:wrap;justify-content:center}.queue-finish{font-size:calc(var(--u) * 1.6)}.queue-cell{display:grid;justify-items:center}.queue-face{font-size:calc(var(--u) * 1.8)}.queue-name{font-size:calc(var(--u) * .72);color:var(--ink-soft);unicode-bidi:isolate}.line-box{display:inline-block;width:calc(var(--u) * 7)}.line-draw{width:100%;height:auto;color:var(--ink)}.coins{display:inline-flex;gap:4px;flex-wrap:wrap;justify-content:center}.coin{display:grid;place-items:center;width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fbe7a6,#c9a227);border:2px solid #9c7c12;color:#4a3a00;line-height:1}.coin-face{font-size:calc(var(--u) * .85);font-weight:700;direction:ltr}.coin-unit{font-size:calc(var(--u) * .55)}.tens-stem{display:inline-flex;align-items:flex-end;gap:calc(var(--u) * .5);flex-wrap:wrap;justify-content:center}.rods{display:inline-flex;gap:3px}.rod{display:grid;grid-template-rows:repeat(10,1fr);gap:1px;width:calc(var(--u) * .9);padding:2px;border:2px solid var(--cyan);border-radius:4px;background:#eaf8fd}.rod i{display:block;height:calc(var(--u) * .3);background:var(--cyan);border-radius:1px}.cubes{display:inline-flex;flex-wrap:wrap;gap:2px;max-width:calc(var(--u) * 4)}.cube{width:calc(var(--u) * .62);height:calc(var(--u) * .62);background:var(--pink);border-radius:3px}.scene{position:relative;display:inline-block;width:calc(var(--u) * 8);height:calc(var(--u) * 6)}.scene[data-where=front]:after,.scene[data-where=back]:after{content:"";position:absolute;left:8%;right:8%;top:62%;height:3px;border-radius:3px;background:var(--paper-line-strong)}.scene-anchor,.scene-item{position:absolute;line-height:1}.scene-anchor{font-size:calc(var(--u) * 3);inset-inline-start:50%;top:50%;transform:translate(50%,-50%)}.scene[data-where=in] .scene-anchor,.scene[data-where=out] .scene-anchor{font-size:calc(var(--u) * 2.2);top:50%}.scene-item{font-size:calc(var(--u) * 1.8);inset-inline-start:50%;top:50%;transform:translate(50%,-50%);z-index:2}.scene[data-where=front] .scene-item{top:74%;font-size:calc(var(--u) * 2.2);filter:drop-shadow(0 3px 2px rgba(0,0,0,.25))}.scene[data-where=back] .scene-item{top:30%;font-size:calc(var(--u) * 1.2);z-index:0;opacity:.75}.scene[data-where=above] .scene-item{top:10%}.scene[data-where=below] .scene-item{top:88%}.scene[data-where=right] .scene-item{inset-inline-start:auto;inset-inline-end:6%;transform:translateY(-50%)}.scene[data-where=left] .scene-item{inset-inline-start:6%;transform:translateY(-50%)}.scene-ring{display:none}.scene[data-where=in] .scene-ring,.scene[data-where=out] .scene-ring{display:block;position:absolute;inset:12% 28% 12% 12%;border:3px dashed var(--ink);border-radius:40%}.scene[data-where=in] .scene-anchor{inset-inline-start:62%}.scene[data-where=in] .scene-item{inset-inline-start:38%}.scene[data-where=out] .scene-anchor{inset-inline-start:60%}.scene[data-where=out] .scene-item{inset-inline-start:auto;inset-inline-end:2%;transform:translateY(-50%)}.w{display:grid;gap:calc(var(--u) * .7)}.opts{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:calc(var(--u) * .5)}.opt{min-height:var(--tap);padding:calc(var(--u) * .4);border:3px solid var(--paper-line-strong);border-radius:var(--radius);background:#fff;display:grid;place-items:center}.opt:hover{border-color:var(--cyan)}.opt.is-on{border-color:var(--cyan);background:#e6f6fd;box-shadow:inset 0 0 0 2px var(--cyan)}.opt.is-answer{border-color:var(--green);background:#e9f7ee}.opt-label{font-size:calc(var(--u) * 1.3);unicode-bidi:isolate;text-align:center}.opt-stem .dot{font-size:calc(var(--u) * 1.2)}.opt:has(>.opt-stem>.coins){padding:calc(var(--u) * .15)}.opt .coin{width:calc(var(--u) * 2.8);height:calc(var(--u) * 2.8)}.is-locked .opt,.is-locked .card,.is-locked .slot,.is-locked .match-item,.is-locked .tray-key{cursor:default}.eqs{display:grid;gap:calc(var(--u) * .5);justify-items:center}.eq{display:flex;direction:rtl;align-items:center;gap:calc(var(--u) * .4);flex-wrap:wrap;justify-content:center;font-size:calc(var(--u) * 1.5)}.eq-txt{unicode-bidi:isolate;white-space:nowrap}.slot{min-width:calc(var(--u) * 1.1 * var(--w, 2) + var(--u) * .8);min-height:calc(var(--u) * 2.2);padding:0 calc(var(--u) * .2);border:3px solid var(--pink);border-radius:8px;background:#fff;font-size:calc(var(--u) * 1.4);font-weight:700;line-height:1;direction:ltr;unicode-bidi:isolate;color:var(--ink)}.slot.is-active{background:#ffeaf5;box-shadow:0 0 0 3px #e6007e40}.slot.is-answer{border-color:var(--green);color:var(--green);background:#e9f7ee}.grid-table{display:grid;gap:2px;overflow-x:auto;padding-bottom:2px}.grid-table .tr{display:grid;grid-template-columns:repeat(var(--cols, 4),minmax(max(calc(var(--u) * 2.2),40px),1fr));gap:2px;width:max-content;min-width:100%}.grid-table .th,.grid-table .td{display:grid;place-items:center;min-height:max(calc(var(--u) * 2.2),40px);border-radius:6px;font-size:calc(var(--u) * 1.05);direction:ltr}.grid-table .th{background:var(--cyan);color:#fff;font-weight:700}.grid-table .th.corner{background:var(--pink)}.grid-table .td{background:#f1f7fa;border:1px solid var(--paper-line)}.grid-table .td .slot{min-width:0;width:100%;height:100%;min-height:max(calc(var(--u) * 2),38px);border-width:2px}.tray{min-height:calc(var(--u) * 3.4);border:3px dashed var(--paper-line-strong);border-radius:var(--radius);padding:calc(var(--u) * .4);display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start;justify-content:center}.tray.is-answer{border-color:var(--green);background:#e9f7ee}.tray-keys{display:flex;align-items:center;justify-content:center;gap:var(--u)}.tray-key{width:var(--tap);height:var(--tap);border-radius:50%;border:none;background:var(--cyan);color:#fff;font-size:calc(var(--u) * 1.6);line-height:1;box-shadow:var(--shadow)}.tray-count{font-size:calc(var(--u) * 1.8);font-weight:700;min-width:calc(var(--u) * 2);text-align:center;direction:ltr}.order-line{display:flex;align-items:center;gap:calc(var(--u) * .5);min-height:calc(var(--u) * 3);border:3px dashed var(--paper-line-strong);border-radius:var(--radius);padding:calc(var(--u) * .3)}.order-hint{font-size:calc(var(--u) * .8);color:var(--ink-soft);flex:none}.order-slots,.order-cards{display:flex;gap:calc(var(--u) * .4);flex-wrap:wrap}.card{min-width:calc(var(--u) * 2.6);min-height:calc(var(--u) * 2.6);padding:0 calc(var(--u) * .4);border:3px solid var(--cyan);border-radius:10px;background:#fff;font-size:calc(var(--u) * 1.35);font-weight:700;unicode-bidi:isolate;display:inline-grid;place-items:center}.card.is-used{opacity:.25;pointer-events:none}.card.is-placed{border-color:var(--pink)}.card.is-answer{border-color:var(--green);color:var(--green)}.match{display:grid;grid-template-columns:1fr auto 1fr;gap:calc(var(--u) * .5);align-items:start}.match-col{display:grid;gap:calc(var(--u) * .4)}.match-gap{width:calc(var(--u) * .6)}.match-item{min-height:var(--tap);border:3px solid var(--paper-line-strong);border-radius:var(--radius);background:#fff;display:grid;place-items:center;padding:calc(var(--u) * .3)}.match-item.is-picked{border-color:var(--pink);box-shadow:0 0 0 3px #e6007e33}.match-item.is-linked[data-link=a]{border-color:#00a3dd;background:#e6f6fd}.match-item.is-linked[data-link=b]{border-color:#e6007e;background:#fdeaf4}.match-item.is-linked[data-link=c]{border-color:#1f9d55;background:#e9f7ee}.match-item.is-linked[data-link=d]{border-color:#f2a71b;background:#fff5e3}.match-item.is-linked[data-link=e]{border-color:#7b5ea7;background:#f0ebf8}.match-item.is-linked[data-link=f]{border-color:#d4322c;background:#fbeceb}.match-item.is-answer{outline:2px dashed var(--green);outline-offset:2px}.copybook{display:grid;gap:0;justify-content:center;padding:calc(var(--u) * .4);overflow-x:auto}.sq-row{display:grid;grid-template-columns:repeat(var(--cols, 3),max(calc(var(--u) * 2.4),40px))}.sq{height:max(calc(var(--u) * 2.4),40px);display:grid;place-items:center;border:1px solid var(--paper-line-strong);font-size:calc(var(--u) * 1.4);font-weight:700;direction:ltr}.sq-op{color:var(--pink)}.sq-rule{height:3px;background:var(--ink);margin:2px 0}.sq-answer .sq{border-color:var(--pink);padding:0}.sq-answer .sq-op{border-color:transparent}.sq-answer .sq .slot{width:100%;min-width:0;height:100%;min-height:0;border:none;border-radius:0;background:transparent}.sq-answer .sq .slot.is-active{background:#ffeaf5;box-shadow:inset 0 0 0 3px #e6007e4d}.tools{background:var(--chrome);padding:calc(var(--u) * .5);padding-bottom:calc(var(--u) * .5 + env(safe-area-inset-bottom,0px));display:grid;gap:calc(var(--u) * .5)}.pad{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:calc(var(--u) * .35);direction:ltr}.key{min-height:var(--tap);border:none;border-radius:12px;background:#e9f1f6;color:var(--ink);font-size:calc(var(--u) * 1.5);font-weight:700;box-shadow:var(--shadow)}.key:active{transform:translateY(1px);box-shadow:none}.key-fn{background:#90adbd;color:#fff;font-size:calc(var(--u) * 1.15)}.actions{display:flex;gap:calc(var(--u) * .5)}.actions .btn{flex:1}@media (min-width: 720px){.pad{grid-template-columns:repeat(12,minmax(0,1fr));width:100%;max-width:820px;margin-inline:auto}}.screen-summary{place-items:center;background:radial-gradient(120% 90% at 50% 0%,var(--chrome-2),var(--chrome));padding:var(--u);overflow-y:auto}.summary-card{background:var(--paper);border-radius:calc(var(--radius) * 1.4);padding:calc(var(--u) * 1.4);display:grid;gap:calc(var(--u) * .6);justify-items:center;max-width:460px;width:100%;text-align:center}.summary-mood{font-size:calc(var(--u) * 3.4)}.summary-card h2{margin:0;font-size:calc(var(--u) * 1.5)}.summary-score{margin:0;font-size:calc(var(--u) * 2);font-weight:700;color:var(--pink);direction:ltr}.summary-log{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:calc(var(--u) * .85);color:var(--ink-soft)}.summary-actions{display:flex;gap:calc(var(--u) * .5);flex-wrap:wrap;justify-content:center}.screen-grownups{grid-template-rows:auto auto minmax(0,1fr)}.sheet{overflow-y:auto;background:var(--paper);padding:var(--u);display:grid;gap:var(--u);align-content:start}.settings{display:grid;gap:calc(var(--u) * .4)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:var(--u);min-height:var(--tap);padding:0 calc(var(--u) * .6);border:2px solid var(--paper-line-strong);border-radius:var(--radius);background:#fff;font-size:calc(var(--u) * .98)}.set-row input[type=number]{width:calc(var(--u) * 4);height:calc(var(--u) * 2.2);font:inherit;text-align:center;border:2px solid var(--cyan);border-radius:8px;direction:ltr}.set-row input[type=checkbox]{width:calc(var(--u) * 1.6);height:calc(var(--u) * 1.6);accent-color:var(--cyan)}.note{margin:0;font-size:calc(var(--u) * .82);color:var(--ink-soft)}.panel{background:#fff;border:2px solid var(--paper-line-strong);border-radius:var(--radius);padding:calc(var(--u) * .7);display:grid;gap:calc(var(--u) * .5);align-content:start}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:calc(var(--u) * .5)}.panel-head h3{margin:0;font-size:calc(var(--u) * 1.05);color:var(--pink)}.link-btn{border:none;background:none;color:var(--cyan);font-size:calc(var(--u) * .85);padding:calc(var(--u) * .2) calc(var(--u) * .3);border-radius:6px}.link-btn:hover{background:#e6f6fd}.panel.two-up{grid-template-columns:1fr 1fr;align-items:start}@media (max-width: 560px){.panel.two-up{grid-template-columns:1fr}}.log{margin:0;padding:0;list-style:none;display:grid;gap:3px;font-size:calc(var(--u) * .88)}.log li{padding:calc(var(--u) * .3) calc(var(--u) * .5);background:#f2f7fa;border-radius:8px;border-inline-start:4px solid var(--paper-line-strong)}.log li.d-fallback,.log li.d-levelDown,.log li.d-reviewFailed{border-inline-start-color:var(--amber);background:#fff6e2}.log li.d-mastered,.log li.d-levelUp,.log li.d-review{border-inline-start-color:var(--green);background:#eef8f1}.lrows{margin:0;padding:0;list-style:none;display:grid;gap:3px}.lrow{display:grid;grid-template-columns:auto minmax(0,1fr) calc(var(--u) * 5) auto;gap:calc(var(--u) * .5);align-items:center;padding:calc(var(--u) * .3) calc(var(--u) * .5);border-radius:8px;background:#f7fafc;font-size:calc(var(--u) * .88)}.lrow.is-locked{opacity:.45}.lrow.is-learning{background:#eaf6fd}.lrow.is-done{background:#eef8f1}.lrow-n{color:var(--ink-soft);min-width:calc(var(--u) * 1.4);text-align:center;direction:ltr}.lrow-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lrow-bar{height:calc(var(--u) * .5);background:#dbe7ee;border-radius:999px;overflow:hidden;direction:ltr}.lrow-bar i{display:block;height:100%;background:var(--green)}.lrow-lv{color:var(--ink-soft);direction:ltr;min-width:calc(var(--u) * 2);text-align:center}.danger{padding-top:var(--u);border-top:1px solid var(--paper-line-strong)}@media (max-height: 560px){:root{--u: 14px;--tap: 44px}.line:not(:nth-last-child(-n+2)){display:none}}@media (max-width: 380px){:root{--u: 14px}.lesson-title{display:none}}@media print{.bar,.tools{display:none}.paper{background:#fff;overflow:visible}}.bar-end{display:flex;gap:calc(var(--u) * .3)}.notice{margin:0;padding:calc(var(--u) * .4) calc(var(--u) * .7);background:#fff6e2;color:#8a5c00;font-size:calc(var(--u) * .9);border-bottom:1px solid var(--amber)}.stamp{position:absolute;font-size:calc(var(--u) * 2.2);line-height:1;filter:drop-shadow(0 2px 2px rgba(0,0,0,.18));transform:translate(-50%,-50%) rotate(var(--rot, -7deg));pointer-events:none}.stamp.is-fresh{animation:stamp .5s cubic-bezier(.2,1.5,.35,1) backwards}@keyframes stamp{0%{transform:translate(-50%,-50%) rotate(calc(var(--rot, 0deg) * 3)) scale(3);opacity:0}45%{opacity:1}62%{transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(.82)}80%{transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1.1)}to{transform:translate(-50%,-50%) rotate(var(--rot, 0deg)) scale(1)}}.stamp-ring{position:absolute;width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);margin:calc(var(--u) * -1.2);border:3px solid var(--pink);border-radius:50%;pointer-events:none;animation:shock .55s .24s ease-out backwards}@keyframes shock{0%{transform:scale(.3);opacity:.85}to{transform:scale(2.6);opacity:0}}.paper.is-erasing .stamp.is-peelable{pointer-events:auto;cursor:pointer;animation:wobble 1.1s ease-in-out infinite}.stamp.is-peeling{animation:peel .3s ease-in forwards}@keyframes wobble{0%,to{transform:translate(-50%,-50%) rotate(calc(var(--rot, 0deg) - 5deg))}50%{transform:translate(-50%,-50%) rotate(calc(var(--rot, 0deg) + 5deg))}}@keyframes peel{to{transform:translate(-50%,-140%) rotate(calc(var(--rot, 0deg) + 40deg)) scale(.4);opacity:0}}.erase-row{display:flex;justify-content:center}.screen-reward{grid-template-rows:auto minmax(0,1fr) auto}.reward-bar{background:var(--chrome);color:#eaf5fb;padding:calc(var(--u) * .5);padding-bottom:calc(var(--u) * .5 + env(safe-area-inset-bottom,0px));display:grid;gap:calc(var(--u) * .4)}.reward-ask{margin:0;text-align:center;font-size:calc(var(--u) * 1.05)}.reward-kinds{display:flex;flex-wrap:wrap;gap:calc(var(--u) * .4)}.reward-kind{flex:1 1 calc(var(--u) * 9)}.btn-skip{flex:0 0 auto}.btn-skip{background:#ffffff1f;color:#eaf5fb;min-height:var(--tap)}.reward-kind{min-height:var(--tap);border:2px solid rgba(255,255,255,.22);border-radius:var(--radius);background:#ffffff14;color:inherit;display:grid;justify-items:center;gap:2px;padding:calc(var(--u) * .3);font-size:calc(var(--u) * .9)}.reward-kind.is-on{border-color:var(--amber);background:#f2a71b33}.reward-kind-face{font-size:calc(var(--u) * 1.6)}.reward-body{display:grid;gap:calc(var(--u) * .3)}.reward-hint{margin:0;text-align:center;color:var(--amber);font-size:calc(var(--u) * .9)}.sticker-strip{display:flex;gap:calc(var(--u) * .35);overflow-x:auto;padding-bottom:2px}.sticker{flex:none;width:calc(var(--u) * 4.2);border:2px solid rgba(255,255,255,.22);border-radius:var(--radius);background:#ffffff14;color:inherit;display:grid;justify-items:center;gap:1px;padding:calc(var(--u) * .3);min-height:var(--tap)}.sticker:hover{border-color:var(--amber)}.sticker.is-new{border-color:var(--amber);background:#f2a71b2e}.sticker.is-on{border-color:#fff;background:#ffffff3d;transform:translateY(-2px)}.sticker-face{font-size:calc(var(--u) * 1.9);line-height:1}.sticker-name{font-size:calc(var(--u) * .6);color:#9fc6da;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.balloon{position:absolute;left:var(--x);top:var(--y);border:none;background:none;padding:0;display:grid;justify-items:center;animation:drift var(--dur, 4s) ease-in-out var(--d) infinite alternate backwards}.balloon-face{animation:tilt calc(var(--dur, 4s) * .8) ease-in-out var(--d) infinite alternate backwards}.balloon-face{font-size:calc(var(--u) * 2.8);line-height:1;display:block;filter:hue-rotate(var(--tint, 0deg))}.balloon-word{position:absolute;top:100%;left:50%;transform:translate(-50%);white-space:nowrap;font-size:calc(var(--u) * .78);font-weight:700;color:var(--pink);opacity:0}.balloon.is-pop{animation:pop .34s ease-out forwards;pointer-events:none}.balloon.is-pop .balloon-face{animation:none}.pop-bits{position:absolute;inset:0;pointer-events:none}.pop-bits i{position:absolute;inset-inline-start:50%;top:40%;width:calc(var(--u) * .45);height:calc(var(--u) * .45);border-radius:50% 50% 50% 0;background:#e0362d;filter:hue-rotate(var(--tint, 0deg));animation:scatter .5s ease-out forwards}@keyframes scatter{0%{transform:translate(-50%,-50%) scale(.5);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.9) rotate(200deg);opacity:0}}.balloon.is-pop .balloon-word{opacity:1;transition:opacity .2s .15s}@keyframes drift{0%{transform:translate(-50%)}to{transform:translate(calc(-50% + var(--sway, 3%)),calc(var(--u) * -1.6 * var(--rise, 1)))}}@keyframes tilt{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}@keyframes pop{40%{transform:translate(-50%) scale(1.35)}to{transform:translate(-50%) scale(.1);opacity:0}}.tabs{display:flex;background:var(--chrome-2);padding:0 calc(var(--u) * .4);gap:calc(var(--u) * .2)}.tab{flex:1;min-height:calc(var(--tap) * .78);border:none;background:none;color:#9fc6da;font-size:calc(var(--u) * .95);border-bottom:3px solid transparent}.tab.is-on{color:#fff;border-bottom-color:var(--amber)}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(var(--u) * 7),1fr));gap:calc(var(--u) * .5)}.tile{background:#fff;border:2px solid var(--paper-line-strong);border-radius:var(--radius);padding:calc(var(--u) * .6);display:grid;gap:1px;justify-items:center;text-align:center}.tile-value{font-size:calc(var(--u) * 1.9);font-weight:700;color:var(--ink);line-height:1.1;unicode-bidi:isolate}.tile-label{font-size:calc(var(--u) * .78);color:var(--ink-soft)}.tile-note{font-size:calc(var(--u) * .72);color:var(--ink-soft);opacity:.8;unicode-bidi:isolate}.legend{display:flex;gap:var(--u);margin-bottom:calc(var(--u) * -.2);flex-wrap:wrap;font-size:calc(var(--u) * .85);color:var(--ink-soft)}.key{display:inline-flex;align-items:center;gap:5px}.key b{color:var(--ink)}.swatch{width:calc(var(--u) * .72);height:calc(var(--u) * .72);border-radius:3px;display:inline-block}.swatch-ok{background:var(--chart-ok)}.swatch-no{background:var(--chart-no)}.plot{position:relative;padding-bottom:calc(var(--u) * 1.1);direction:ltr}.cols{display:flex;align-items:flex-end;gap:3px;height:calc(var(--u) * 7)}.col{flex:1;min-width:0;height:100%;border:none;background:none;padding:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;position:relative}.col-stack{display:flex;flex-direction:column;justify-content:flex-end;height:100%;width:100%;max-width:calc(var(--u) * 1.5);margin-inline:auto;gap:2px}.seg{display:block;min-height:0}.seg-ok{background:var(--chart-ok);border-radius:0 0 2px 2px}.seg-no{background:var(--chart-no);border-radius:4px 4px 0 0}.seg-no:not([style*="height:0"])+.seg-ok{border-radius:0 0 2px 2px}.col-stack .seg-no[style^="height:0"]+.seg-ok{border-radius:4px 4px 2px 2px}.col-tick{position:absolute;bottom:calc(var(--u) * -1);inset-inline:0;font-size:calc(var(--u) * .6);color:var(--ink-soft);direction:ltr}.col.is-today .col-tick{color:var(--pink);font-weight:700}.col:hover .col-stack,.col:focus-visible .col-stack{filter:brightness(1.08);outline:none}.baseline{height:2px;background:var(--paper-line-strong);border-radius:2px}.tip{position:absolute;bottom:calc(100% - var(--u) * 6);transform:translate(-50%);background:var(--chrome);color:#eaf5fb;border-radius:8px;padding:calc(var(--u) * .3) calc(var(--u) * .5);font-size:calc(var(--u) * .78);display:grid;gap:1px;white-space:nowrap;pointer-events:none;z-index:3}.table-view table{width:100%;border-collapse:collapse;font-size:calc(var(--u) * .82)}.table-view caption{text-align:start;color:var(--ink-soft);padding-bottom:4px}.table-view th,.table-view td{border-bottom:1px solid var(--paper-line);padding:3px 6px;text-align:center}.table-view th[scope=row]{text-align:start;font-weight:400}.meters{margin:0;padding:0;list-style:none;display:grid;gap:calc(var(--u) * .35)}.meter{display:grid;grid-template-columns:calc(var(--u) * 5) minmax(0,1fr) auto;gap:calc(var(--u) * .5);align-items:center;font-size:calc(var(--u) * .85)}.meter-track{height:calc(var(--u) * .6);background:#dbe7ee;border-radius:999px;overflow:hidden;direction:ltr}.meter-track i{display:block;height:100%;background:var(--chart-ok);border-radius:999px}.meter-value{color:var(--ink-soft);direction:ltr;min-width:calc(var(--u) * 2);text-align:center}.rank{margin:0;padding:0;list-style:none;display:grid;gap:3px;font-size:calc(var(--u) * .85)}.rank li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:calc(var(--u) * .4);align-items:baseline;padding:calc(var(--u) * .25) calc(var(--u) * .4);border-radius:8px;background:#f4f8fa}.rank li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank li small{color:var(--ink-soft);font-size:calc(var(--u) * .7)}.rank-best li b{color:var(--green)}.rank-worst li b{color:var(--pink)}.rank .empty{color:var(--ink-soft);background:none}.picker{display:grid;gap:calc(var(--u) * .4)}.pick-row{display:grid;gap:calc(var(--u) * .25)}.pick-all{justify-self:start;border:2px solid var(--paper-line-strong);border-radius:999px;background:#fff;padding:calc(var(--u) * .15) calc(var(--u) * .7);font-size:calc(var(--u) * .85);min-height:calc(var(--u) * 2)}.pick-all.is-on{border-color:var(--cyan);background:var(--cyan);color:#fff}.pick-all.is-part{border-color:var(--cyan);background:#e6f6fd}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{min-width:calc(var(--u) * 2.3);min-height:calc(var(--u) * 2.3);border:2px solid var(--paper-line-strong);border-radius:8px;background:#fff;font-size:calc(var(--u) * .85);direction:ltr}.chip.is-on{border-color:var(--pink);background:var(--pink);color:#fff}.lrow.is-revising{box-shadow:inset 3px 0 0 var(--pink)}.fun .tens-stem{perspective:900px;padding-top:calc(var(--u) * .5)}.fun .rods,.fun .cubes{transform-style:preserve-3d}.fun .rod{--w: calc(var(--u) * .9);position:relative;transform:rotateX(-20deg) rotateY(-28deg);transform-style:preserve-3d;background:#d6f1fb}.fun .rod:before,.fun .rod:after{content:"";position:absolute;inset:0;background:var(--cyan)}.fun .rod:before{height:var(--w);transform-origin:top;transform:rotateX(90deg);filter:brightness(1.25)}.fun .rod:after{width:var(--w);inset-inline-start:auto;inset-inline-end:0;transform-origin:right;transform:rotateY(90deg);filter:brightness(.75)}.fun .cube{position:relative;transform:rotateX(-20deg) rotateY(-28deg);transform-style:preserve-3d}.fun .cube:before,.fun .cube:after{content:"";position:absolute;inset:0;background:var(--pink);border-radius:2px}.fun .cube:before{transform-origin:top;transform:rotateX(90deg);filter:brightness(1.3)}.fun .cube:after{transform-origin:right;transform:rotateY(90deg);filter:brightness(.72)}.fun .coin{position:relative;box-shadow:0 3px #8a6d10,0 4px 5px #00000040;animation:turn 9s linear infinite}.fun .opt .coin,.fun .coins .coin:nth-child(2n){animation-delay:-3s}@keyframes turn{0%,70%{transform:rotateY(0)}85%{transform:rotateY(24deg)}to{transform:rotateY(0)}}.fun .dot{animation:drop .35s ease-out backwards}@keyframes drop{0%{transform:translateY(calc(var(--u) * -.7)) scale(.6);opacity:0}}.fun .set-ring{animation:swell .4s ease-out backwards}@keyframes swell{0%{transform:scale(.85);opacity:0}}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}.confetti i{position:absolute;top:50%;left:50%;font-size:calc(var(--u) * 1.1);animation:fly .9s ease-out forwards;animation-delay:var(--d, 0s)}@keyframes fly{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.1) rotate(var(--r));opacity:0}}@media (prefers-reduced-motion: reduce){.fun .coin,.fun .dot,.fun .set-ring,.balloon,.balloon-face,.stamp.is-fresh,.stamp-ring,.paper.is-erasing .stamp.is-peelable,.pop-bits i,.confetti i{animation:none}.confetti{display:none}}@media (forced-colors: active){.seg-ok{border:1px solid CanvasText}.seg-no{border:1px dashed CanvasText}}.w-drag{gap:calc(var(--u) * .6)}.zones{display:grid;grid-template-columns:repeat(var(--zones, 2),minmax(0,1fr));gap:calc(var(--u) * .5);align-items:stretch}.zones.is-stack{grid-template-columns:1fr;justify-items:center;gap:calc(var(--u) * .3)}.board-anchor{font-size:calc(var(--u) * 2.6);line-height:1}.zone{position:relative;min-height:calc(var(--u) * 4);padding:calc(var(--u) * .4);display:grid;gap:calc(var(--u) * .25);align-content:start;justify-items:center;border:3px dashed var(--paper-line-strong);border-radius:var(--radius);background:#fbfdfe;transition:background .12s,border-color .12s}.zone.is-target{border-color:var(--cyan);background:#e6f6fd}.zone.is-answer{border-color:var(--green);background:#eef8f1}.zone-label{font-size:calc(var(--u) * .85);color:var(--ink-soft);unicode-bidi:isolate}.zone-items{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;align-content:flex-start;min-height:calc(var(--u) * 2.2);width:100%}.zone-basket{border-style:solid;border-color:#c69c6d;background:#fdf6ec;border-radius:6px 6px 18px 18px}.zone-ring{border-style:solid;border-color:var(--ink);border-radius:45% 55% 50% 50%/55% 45%;background:#fff}.zone-column{border-style:solid;border-color:var(--cyan);background:#f2fbfe}.zone-column .zone-items{align-items:flex-end;min-height:calc(var(--u) * 5)}.zone-slot{min-height:calc(var(--u) * 3);min-width:calc(var(--u) * 3);border-color:var(--pink);background:#fff}.zone-spot{min-height:calc(var(--u) * 3.2);width:100%;max-width:calc(var(--u) * 10)}.frame-cells,.zone-frame .zone-items{--cell: calc(var(--u) * 2.1);display:grid;grid-template-columns:repeat(5,var(--cell));grid-auto-rows:var(--cell);justify-content:center;gap:3px}.frame-cell{border:2px solid var(--paper-line-strong);border-radius:6px;background:#fff}.frame-cell.is-set{background:radial-gradient(circle at 50% 50%,var(--red) 52%,transparent 54%);border-color:var(--red)}.zone-frame .zone-items{position:absolute;inset:auto 0 calc(var(--u) * .4);top:auto;width:auto;min-height:0;pointer-events:none}.zone-frame .zone-items .piece{pointer-events:auto;border:none;background:none;min-width:0;min-height:0;aspect-ratio:1}.slot-gap{display:block}.tray-row{display:grid;gap:calc(var(--u) * .25)}.tray-label{font-size:calc(var(--u) * .8);color:var(--ink-soft);unicode-bidi:isolate}.drag-tray{display:flex;flex-wrap:wrap;gap:calc(var(--u) * .3);justify-content:center;min-height:calc(var(--u) * 3);padding:calc(var(--u) * .35);border:2px dashed var(--paper-line);border-radius:var(--radius);background:#fcfdfe}.piece{min-width:calc(var(--u) * 2.4);min-height:calc(var(--u) * 2.4);padding:calc(var(--u) * .1) calc(var(--u) * .25);border:2px solid var(--paper-line-strong);border-radius:10px;background:#fff;display:inline-grid;place-items:center;line-height:1;touch-action:none;user-select:none}.piece-label{font-size:calc(var(--u) * 1.4);unicode-bidi:isolate}.piece-stem .coin{width:calc(var(--u) * 2);height:calc(var(--u) * 2)}.piece-stem .rod{width:calc(var(--u) * 1)}.piece-stem .cube{width:calc(var(--u) * 1.1);height:calc(var(--u) * 1.1)}.piece-stem .tens-stem{gap:0}.piece.is-held{border-color:var(--pink);box-shadow:0 0 0 3px #e6007e40;transform:translateY(-2px)}.piece.is-lifted{opacity:.3}.piece.is-placed{border-color:transparent;background:none;min-width:0;min-height:0;padding:0}.piece.is-ghost{position:fixed;z-index:50;transform:translate(-50%,-50%) scale(1.15);pointer-events:none;box-shadow:0 6px 14px #0000004d;border-color:var(--pink)}.is-locked .piece{cursor:default}.teach-btn{flex:none;width:calc(var(--u) * 2);height:calc(var(--u) * 2);border:none;border-radius:50%;background:#fff6e2;font-size:calc(var(--u) * .95);line-height:1}.teach{display:grid;grid-template-columns:auto minmax(0,1fr);gap:calc(var(--u) * .5);align-items:start;padding:calc(var(--u) * .5) calc(var(--u) * .6);background:#fff8e8;border-inline-start:4px solid var(--amber);border-radius:10px}.teach p{margin:0;font-size:calc(var(--u) * .98);line-height:1.75;color:#6b4f14}.teach-mark{font-size:calc(var(--u) * 1.1);line-height:1.6}.tip-pop{position:fixed;z-index:60;max-width:min(78vw,30rem);padding:calc(var(--u) * .35) calc(var(--u) * .6);background:var(--chrome);color:#eaf5fb;border-radius:10px;font-size:calc(var(--u) * .85);line-height:1.6;box-shadow:0 6px 16px #0000004d;pointer-events:none;transform:translate(-50%,-100%)}.tip-pop:after{content:"";position:absolute;inset-inline-start:50%;top:100%;border:6px solid transparent;border-top-color:var(--chrome);transform:translate(-50%)}.lasso-field{position:relative;width:100%;max-width:calc(var(--u) * 24);margin-inline:auto;padding:calc(var(--u) * .6);border:2px dashed var(--paper-line);border-radius:var(--radius);background:#fcfdfe;touch-action:none;cursor:crosshair}.lasso-items{display:grid;grid-template-columns:repeat(var(--cols, 5),minmax(0,1fr));gap:calc(var(--u) * .3);justify-items:center;align-items:center}.thing{border:2px solid transparent;border-radius:50%;background:none;padding:calc(var(--u) * .2);font-size:calc(var(--u) * 1.7);line-height:1;min-width:calc(var(--u) * 2.6);min-height:calc(var(--u) * 2.6);display:grid;place-items:center}.thing.is-in{border-color:var(--pink);background:#e6007e1a}.thing.is-answer{border-color:var(--green);background:#e9f7ee;border-style:dashed}.lasso-ink{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.w-lasso .stem:empty{display:none}
