:root{color:#202428;background:#f5f6f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit;min-height:42px}.site-shell{max-width:1540px;margin:0 auto;padding:18px 18px 52px}.site-nav{color:#78808a;align-items:center;gap:12px;max-width:1120px;margin:0 auto 18px;padding:0 4px;font-size:.92rem;display:flex}.site-nav .brand{color:#23272b;margin-right:auto;font-size:1.05rem;font-weight:760;text-decoration:none}.site-nav button{color:#66707a;background:0 0;border:0;min-height:32px;padding:4px 7px}.site-nav .nav-active{color:#202428;font-weight:750}.site-nav .language-switch{color:#202428;border:1px solid #dfe3e8;border-radius:999px;font-size:.72rem;font-weight:700}.exercise-card{background:#fff;border:1px solid #e5e5e5;border-radius:30px;max-width:1120px;margin:0 auto;padding:34px 18px 26px;box-shadow:0 12px 34px #222a320d}header{text-align:center}h1{letter-spacing:-.045em;justify-content:center;align-items:center;gap:14px;margin:4px 0 16px;font-size:clamp(2rem,4vw,3.45rem);font-weight:750;line-height:1.05;display:flex}.title-mark{border:3px solid;border-radius:6px;width:27px;height:29px;font-size:.53em;line-height:23px;overflow:hidden}.subtitle{color:#6e7073;margin:0;font-size:clamp(1rem,2vw,1.55rem)}.difficulty{grid-template-columns:repeat(3,1fr);max-width:780px;margin:30px auto;display:grid}.difficulty button{color:#969696;background:0 0;border:0;border-radius:999px;font-size:clamp(1rem,2vw,1.45rem);font-weight:500}.difficulty button.active{color:#212326;background:#f1f1f1;font-weight:720}.instruction{letter-spacing:-.01em;margin:0 0 25px;font-size:clamp(1rem,2vw,1.52rem)}.practice-table{gap:6px;display:grid}.table-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.table-head>div{background:#f3f3f3;border-radius:7px;justify-content:center;align-items:center;min-height:60px;font-size:clamp(.7rem,1.4vw,1.15rem);font-weight:720;display:flex}.cell{min-width:0;position:relative}.cell input,.cell output{color:#25282c;font-variant-numeric:tabular-nums;text-align:center;background:#fff;border:2px solid #e2e2e2;border-radius:20px;justify-content:center;width:100%;min-width:0;height:64px;padding:0 4px;font-size:clamp(.8rem,1.75vw,1.35rem);font-weight:650;display:flex}.cell.given output{background:#f3f3f3;border-color:#f3f3f3;border-radius:6px}.cell small{color:#1c7d5b;text-align:center;font-size:.65rem;font-weight:750;position:absolute;bottom:-15px;left:0;right:0}.new-round{color:#fff;background:#1c2023;border:0;border-radius:999px;width:100%;min-height:72px;margin:46px 0 24px;font-size:clamp(1rem,2vw,1.35rem)}.parents{background:#f4f4f4;border:0;border-radius:23px;padding:0 24px 24px;position:relative}summary{cursor:pointer;padding:28px 0 18px;font-size:clamp(1.05rem,2vw,1.45rem);font-weight:720;list-style:none}summary:before{content:"♙";margin-right:14px;font-size:1.25em}summary::-webkit-details-marker{display:none}.parent-body{gap:12px;display:grid}.lock-state{background:#e6e6e6;border-radius:999px;padding:5px 14px;font-size:clamp(.88rem,1.7vw,1.22rem);position:absolute;top:25px;right:24px}.lock-state.open{color:#176847;background:#dcefe6}.pin-row{gap:16px;display:flex}.pin-row input,.parent-body label input{background:#fbfbfb;border:2px solid #dcdcdc;border-radius:999px;padding:0 30px;font-size:1.15rem}.pin-row input{flex:1}.pin-row button,.parent-body button{color:#fff;background:#1c2023;border:0;border-radius:999px;padding:0 28px}.parent-body label{gap:5px;max-width:420px;font-weight:650;display:grid}.score,.subtle,.status{margin:0}.subtle{color:#707276;font-size:clamp(.93rem,1.7vw,1.15rem)}.status{color:#176847;font-weight:650}.abbreviations{margin-top:26px}.abbreviations h2{margin:0 0 8px;font-size:1rem}.abbreviations p{color:#6e7073;margin:0;font-size:clamp(.88rem,1.6vw,1.15rem);line-height:1.45}.exercise-controls{gap:12px;margin:26px 0 20px;display:grid}.exercise-controls .difficulty{width:min(100%,780px);margin:0 auto}.stage-picker{justify-content:center;gap:7px;display:flex}.stage-picker button{color:#5d6872;background:#f3f4f5;border:1px solid #e1e4e6;border-radius:999px;padding:0 13px;font-size:.82rem}.stage-picker button.active{color:#1f506e;background:#e1ebf3;border-color:#c4d6e4;font-weight:730}.working{gap:11px;max-width:800px;margin:22px auto;display:grid}.working-step{border-left:3px solid #0000;padding:12px 14px}.working-step.done{opacity:.6}.working-step.current{background:#f4f6f7;border-color:#7aa6c1;border-radius:14px;box-shadow:0 3px 9px #19354b0f}.expression-line{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;align-items:center;gap:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.55;display:flex}.math-number,.math-group{margin:0 4px;padding:2px 5px}.math-group{color:#253d4d;border-radius:8px}.operator{color:#1b567c;font-size:inherit;background:0 0;border:0;border-radius:9px;min-width:44px;min-height:44px;padding:0 8px;font-weight:800}.math-number.selected-left{background:#d9edf6;border-radius:9px 0 0 9px;margin-right:0}.math-number.selected-right{background:#d9edf6;border-radius:0 9px 9px 0;margin-left:0}.operator.selected{background:#d9edf6;border-radius:0;margin:0}.operator:hover,.operator:focus-visible{background:#d9edf6;outline:none}.answer-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:10px 0 2px;font-size:1.05rem;animation:.22s ease-out unfold;display:flex}.answer-row input{text-align:center;border:2px solid #aebbc5;border-radius:9px;max-width:110px;font-size:1.1rem;font-weight:700}.answer-row button,.rechen-actions button{color:#fff;background:#1f5f8b;border:0;border-radius:9px;padding:0 16px}.step-result{color:#1b6d4d;text-align:center;margin:5px 0 0;font-weight:750}.inline-feedback{color:#3e5564;text-align:center;background:#eef3f5;border-radius:10px;max-width:800px;margin:18px auto;padding:11px 14px}.rechen-actions{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.rechen-actions .secondary{color:#243746;background:#e8edf1}@keyframes unfold{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important}}@media (width<=520px){.site-shell{padding:0 0 30px}.site-nav{padding:max(15px,env(safe-area-inset-top)) 16px 14px}.site-nav span{display:none}.exercise-card{box-shadow:none;border:0;border-radius:0;padding:22px 12px 28px}h1{gap:9px;margin-bottom:10px}.title-mark{width:22px;height:23px;line-height:18px}.difficulty{margin:23px 0}.instruction{margin-bottom:18px;line-height:1.3}.practice-table,.table-row{gap:3px}.table-head>div{min-height:42px}.cell input,.cell output{border-radius:12px;height:48px;font-size:.78rem}.cell.given output{border-radius:5px}.new-round{min-height:58px;margin:33px 0 18px}.parents{border-radius:18px;padding:0 16px 18px}summary{padding-top:21px}.lock-state{top:19px;right:16px}.pin-row{gap:8px}.pin-row input{min-width:0;padding:0 15px}.pin-row button{padding:0 17px}}.math-number.completed-left{color:#075c39;background:#9df0bb;border-radius:10px 0 0 10px;margin-right:0}.math-number.completed-right{color:#075c39;background:#9df0bb;border-radius:0 10px 10px 0;margin-left:0}.operator.completed-operator{color:#087044;background:#9df0bb;border-radius:0;margin:0;animation:.62s cubic-bezier(.17,.89,.32,1.49) check-bounce}.completed-results{flex-wrap:wrap;justify-content:center;gap:7px;margin:10px 0 2px;display:flex}.completed-results span{color:#087044;background:#e3f9eb;border:1px solid #79df9f;border-radius:999px;padding:5px 10px;font-size:.86rem;font-weight:750;animation:.58s cubic-bezier(.17,.89,.32,1.35) reward-pop;box-shadow:0 3px #b3efc8}.round-complete .expression-line{animation:.6s cubic-bezier(.17,.89,.32,1.25) completed-pop}.working-step.current{animation:.45s cubic-bezier(.2,.8,.3,1) drop-into-place}@keyframes completed-pop{0%{filter:brightness();transform:scale(.9)rotate(-1deg)}45%{filter:brightness(1.16);transform:scale(1.07)rotate(1deg)}72%{transform:scale(.98)rotate(-.4deg)}to{filter:brightness();transform:scale(1)rotate(0)}}@keyframes check-bounce{0%{opacity:0;transform:scale(.2)rotate(-28deg)}55%{transform:scale(1.42)rotate(10deg)}78%{transform:scale(.88)rotate(-4deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes reward-pop{0%{opacity:0;transform:translateY(12px)scale(.45)}60%{transform:translateY(-4px)scale(1.13)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes drop-into-place{0%{opacity:0;transform:translateY(-24px)}65%{opacity:1;transform:translateY(3px)}to{transform:translateY(0)}}.check-round{color:#fff;background:#1c7d5b;border:0;border-radius:999px;width:100%;min-height:72px;margin:40px 0 0;font-size:clamp(1rem,2vw,1.35rem)}.check-feedback{color:#3b4046;text-align:center;background:#f4f4f4;border-radius:16px;margin:14px 0 0;padding:14px 18px;font-size:clamp(.95rem,1.8vw,1.2rem);font-weight:600;animation:.22s ease-out unfold}.check-feedback.all-correct{color:#087044;background:#e3f9eb;animation:.58s cubic-bezier(.17,.89,.32,1.35) reward-pop}.check-round+.new-round,.check-feedback+.new-round{color:#202428;background:#fff;border:2px solid #dfe3e8;margin-top:14px}.cell.correct input{color:#0b6a40;background:#effbf3;border-color:#5fcf8d}.cell.wrong input{background:#fff5f4;border-color:#ef8f86}.cell .tick{color:#fff;pointer-events:none;background:#22a565;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8rem;font-weight:900;animation:.62s cubic-bezier(.17,.89,.32,1.49) both check-bounce;display:flex;position:absolute;top:-7px;right:-4px}.history h2{margin:10px 0 6px;font-size:1rem}.history ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.history li{border-top:1px solid #e4e4e4;grid-template-columns:auto 1fr auto;align-items:baseline;gap:4px 12px;padding:9px 0;font-size:.92rem;display:grid}.history-date{color:#707276;font-variant-numeric:tabular-nums}.history-score{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}@media (width<=520px){.check-round{min-height:58px;margin-top:30px}.cell .tick{width:19px;height:19px;font-size:.68rem;top:-6px;right:-3px}.history li{grid-template-columns:1fr auto;font-size:.84rem}.history li>span:nth-child(2){color:#707276;grid-area:2/1/auto/-1}}.cell input,.cell output{align-items:center}.practice-table.revealed{row-gap:22px}
