.wb{--pad:calc(var(--g) * .1);--up:calc(var(--g) * .96);--down:calc(var(--g) * .24);--cube-h:calc(var(--g) * .7);justify-items:stretch;gap:calc(var(--g) * .16);max-width:100%;font-family:var(--font-ui);letter-spacing:0;word-spacing:0;display:inline-grid}.wb-whole{gap:calc(var(--g) * .08);color:var(--leaf);-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-items:center;padding:0;display:grid}button.wb-whole{border-radius:var(--r-block)}.wb-whole-label{font-size:max(1rem, calc(var(--g) * .34));letter-spacing:.02em;align-items:center;gap:.4em;font-weight:600;line-height:1;display:inline-flex}button.wb-whole:hover .wb-whole-label{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:2px}.brace{width:100%;height:max(8px, calc(var(--g) * .16));display:flex}.brace:before,.brace:after{content:"";border:2px solid;flex:1}.brace--top:before{border-bottom:0;border-right:0;border-top-left-radius:8px}.brace--top:after{border-bottom:0;border-left:0;border-top-right-radius:8px}.brace--bottom:before{border-top:0;border-right:0;border-bottom-left-radius:8px}.brace--bottom:after{border-top:0;border-left:0;border-bottom-right-radius:8px}.wb-row{align-items:flex-start;gap:calc(var(--g) * .07);transition:gap var(--dur-3) var(--ease-settle);display:flex;position:relative}.wb--split .wb-row{gap:calc(var(--g) * .42)}.wb-row:after{content:"";left:calc(var(--g) * -.12);right:calc(var(--g) * -.12);top:var(--up);background:var(--ink);pointer-events:none;border-radius:1px;height:2px;position:absolute}.wb-part{justify-items:stretch;gap:calc(var(--g) * .06);color:var(--ink-3);border-radius:var(--r-block);-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;display:grid}button.wb-part{cursor:pointer}.wb-blocks{align-items:flex-end;gap:calc(var(--g) * .07);height:var(--up);margin-bottom:var(--down);display:flex}.wb-part>.brace,.wb-part-label{opacity:0;transition:opacity var(--dur-2) linear, transform var(--dur-3) var(--ease-settle);transform:translateY(-4px)}.wb--split .wb-part>.brace,.wb--split .wb-part-label{opacity:1;transform:none}.wb-part-label{font-size:max(.95rem, calc(var(--g) * .3));color:var(--ink-2);letter-spacing:.03em;justify-self:center;font-weight:600;line-height:1.1}.blk{--face:var(--lemon);--edge:var(--lemon-edge);--face-hi:var(--lemon-hi);--on:var(--on-lemon);min-width:calc(var(--g) * .6);height:var(--cube-h);padding-inline:calc(var(--g) * .11);border-radius:calc(var(--g) * .09);background:var(--face);color:var(--on);box-shadow:var(--block-outline), var(--shadow-rest);transition:transform var(--dur-2) var(--ease-settle), box-shadow var(--dur-2) var(--ease-settle);justify-content:center;align-items:flex-end;display:flex;position:relative}.blk-glyph{z-index:1;font-size:var(--g);margin-bottom:calc(var(--pad) - var(--g) * var(--glyph-drop));font-weight:600;line-height:1;display:block;position:relative}.blk--tall{--face:var(--cobalt);--edge:var(--cobalt-edge);--face-hi:var(--cobalt-hi);--on:var(--on-cobalt);height:var(--up)}.blk--hang{--face:var(--vermilion);--edge:var(--vermilion-edge);--face-hi:var(--vermilion-hi);--on:var(--on-vermilion);height:calc(var(--cube-h) + var(--down));margin-bottom:calc(var(--down) * -1)}.blk--hang .blk-glyph{margin-bottom:calc(var(--down) + var(--pad) - var(--g) * var(--glyph-drop))}.blk--gap{min-width:calc(var(--g) * .35);box-shadow:none;background:0 0;padding:0}.blk--mark{min-width:calc(var(--g) * .3);color:var(--ink);box-shadow:none;background:0 0;padding:0}.blk--tall:after,.blk--hang:after{content:"";background:var(--edge);opacity:.55;height:2px;position:absolute;left:0;right:0}.blk--tall:after{bottom:var(--cube-h)}.blk--hang:after{bottom:var(--down)}:root[data-bd=on] .blk[data-confusable=b],:root[data-bd=on] .blk[data-confusable=p]{background:linear-gradient(90deg, var(--face) 50%, var(--face-hi) 50%)}:root[data-bd=on] .blk[data-confusable=d],:root[data-bd=on] .blk[data-confusable=q]{background:linear-gradient(90deg, var(--face-hi) 50%, var(--face) 50%)}button.wb-part:hover .blk,.wb-part[aria-pressed=true] .blk,.wb-part[data-active] .blk{transform:translateY(calc(var(--g) * -.12));box-shadow:var(--block-outline), var(--shadow-lift)}.wb-part[aria-pressed=true],.wb-part[data-active],.wb-part[aria-pressed=true] .wb-part-label,.wb-part[data-active] .wb-part-label{color:var(--ink)}.wb--build .blk{animation:blk-drop var(--dur-3) var(--ease-settle) backwards;animation-delay:calc(var(--i) * 45ms)}@keyframes blk-drop{0%{transform:translateY(calc(var(--g) * -.55))}to{transform:none}}.legend{gap:var(--s2) var(--s5);font-size:var(--t-sm);color:var(--ink-2);flex-wrap:wrap;list-style:none;display:flex}.legend li{align-items:center;gap:var(--s2);display:inline-flex}.legend--compact{font-size:var(--t-xs);gap:var(--s1) var(--s4)}.sparky{display:block;overflow:visible}.sp-line{fill:none;stroke:#2a1a10;stroke-linecap:round;stroke-linejoin:round}.sparky--idle .sp-bob{transform-origin:100px 190px;animation:3.6s ease-in-out infinite sp-bob}.sparky--idle .sp-eyes{transform-origin:100px 78px;animation:5.5s infinite sp-blink}.sparky--idle .sp-tail{transform-origin:128px 170px;animation:4.2s ease-in-out infinite sp-sway}.sparky--idle .sp-wings{transform-origin:100px 128px;animation:3.6s ease-in-out infinite sp-flap}@keyframes sp-bob{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.01,.99)}}@keyframes sp-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes sp-sway{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes sp-flap{0%,to{transform:scaleX(1)}50%{transform:scaleX(.9)}}.sparky--idle .sp-arm-wave{transform-origin:134px 130px;animation:1.3s ease-in-out infinite sp-wave}@keyframes sp-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-16deg)}}.sparky--pose-win .sp-bob{animation:sp-hop .7s var(--ease-settle) 3;transform-origin:100px 190px}.sparky--pose-win.sparky--idle .sp-arm-l{transform-origin:66px 126px;animation:.7s ease-in-out infinite sp-cheer-l}.sparky--pose-win.sparky--idle .sp-arm-r{transform-origin:134px 126px;animation:.7s ease-in-out infinite sp-cheer-r}.sparky--pose-win .sp-wings{transform-origin:100px 128px;animation:.5s ease-in-out 4 sp-flap}@keyframes sp-hop{0%,to{transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(1.06,.93)}45%{transform:translateY(-16px)scale(.97,1.04)}}@keyframes sp-cheer-l{50%{transform:rotate(10deg)}}@keyframes sp-cheer-r{50%{transform:rotate(-10deg)}}.sparky--pose-jump.sparky--idle .sp-bob{transform-origin:100px 190px;animation:1.1s cubic-bezier(.3,0,.3,1) infinite sp-jump}.sparky--pose-jump.sparky--idle .sp-shadow{transform-origin:100px 193px;animation:1.1s cubic-bezier(.3,0,.3,1) infinite sp-shadow}.sparky--pose-jump .sp-foot-l{transform-origin:80px 185px;transform:translate(4px,-6px)rotate(14deg)}.sparky--pose-jump .sp-foot-r{transform-origin:120px 185px;transform:translate(-4px,-6px)rotate(-14deg)}@keyframes sp-jump{0%,to{transform:translateY(0)scale(1.06,.92)}20%{transform:translateY(0)scale(1)}50%{transform:translateY(-26px)scale(.97,1.04)}80%{transform:translateY(0)scale(1)}}@keyframes sp-shadow{0%,20%,80%,to{opacity:.13;transform:scale(1)}50%{opacity:.07;transform:scale(.6)}}.sparky--pose-run .sp-bob{transform-origin:100px 190px}.sparky--pose-run.sparky--idle .sp-bob{animation:.4s ease-in-out infinite sp-run}.sparky--pose-run.sparky--idle .sp-foot-l{transform-origin:80px 185px;animation:.4s ease-in-out infinite sp-step}.sparky--pose-run.sparky--idle .sp-foot-r{transform-origin:120px 185px;animation:.4s ease-in-out -.2s infinite sp-step}.sparky--pose-run.sparky--idle .sp-arm-l{transform-origin:66px 130px;animation:.4s ease-in-out infinite sp-swing}.sparky--pose-run.sparky--idle .sp-arm-r{transform-origin:134px 130px;animation:.4s ease-in-out -.2s infinite sp-swing}.sparky--pose-run.sparky--idle .sp-tail{animation:.4s ease-in-out infinite sp-sway}@keyframes sp-run{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-7px)rotate(-5deg)}}@keyframes sp-step{0%,to{transform:translate(-6px)rotate(-10deg)}50%{transform:translate(6px,-8px)rotate(10deg)}}@keyframes sp-swing{0%,to{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}.mouth{width:100%;max-width:17rem;height:auto;display:block}.mouth-skin{fill:#f4d7c4}.mouth-lip{fill:var(--lip)}.mouth-inside{fill:var(--mouth)}.mouth-teeth{fill:#fff}.mouth-tongue{fill:var(--tongue)}.mouth-tongue--back{opacity:.7}.mouth path,.mouth rect,.mouth ellipse{transition:all var(--dur-3) var(--ease-settle)}.mouth--speaking{animation:mouth-say .5s var(--ease-settle) 2;transform-origin:50%}@keyframes mouth-say{50%{transform:scale(1.04,.94)}}.bm{width:100%;margin:0;container-type:inline-size}.bm-bar{--cell:clamp(.9rem, calc((100cqw - 2rem) / var(--n)), 2.5rem);gap:.45rem;max-width:100%;display:inline-grid}.bm-whole{color:var(--leaf);justify-items:center;gap:.3rem;display:grid}.bm-whole .brace{height:10px}.bm-whole-label{font-weight:600;line-height:1.2}.bm-row{align-items:flex-start;display:flex}.bm-row--gapped{gap:.3rem}.bm-seg{color:var(--ink-3);justify-items:stretch;gap:.3rem;display:grid}.bm-seg .brace{height:10px}.bm-seg-label{font-size:var(--t-sm);color:var(--ink-2);white-space:nowrap;justify-self:center;font-weight:600;line-height:1.2}.bm-cells{display:flex}.bm-cell{width:var(--cell);height:calc(var(--cell) * 1.25);background:var(--lemon);box-shadow:inset -1px 0 0 var(--lemon-edge), var(--block-outline)}.bm-cells>.bm-cell:first-child{border-radius:var(--r-block) 0 0 var(--r-block)}.bm-cells>.bm-cell:last-child{border-radius:0 var(--r-block) var(--r-block) 0;box-shadow:var(--block-outline)}.bm-cell--drop{background:var(--vermilion);box-shadow:inset -1px 0 0 var(--vermilion-edge);transition:transform var(--dur-3) var(--ease-settle);transform:translateY(.9rem)rotate(4deg)}.bm-seg--drop .bm-cells{margin-bottom:.9rem}.bm-cell--ghost{box-shadow:none;border:2px dashed var(--ghost);background:0 0;border-left-width:1px;border-right-width:1px}.bm-cell--answer{background:var(--leaf);box-shadow:inset -1px 0 0 var(--leaf-edge);animation:cell-fill var(--dur-3) var(--ease-settle) backwards;animation-delay:calc(var(--c) * 30ms)}@keyframes cell-fill{0%{transform:translateY(-.5rem)}}.bm-unknown{border-radius:var(--r-block);border:2px dashed;place-items:center;min-width:1.8em;padding:0 .4em;line-height:1.4;display:inline-grid}.bm-answer{border-radius:var(--r-block);background:var(--leaf);color:var(--on-leaf);padding:0 .45em;display:inline-block}.bm-stack{gap:var(--s4);display:grid}.bm-named{align-items:end;gap:var(--s3);grid-template-columns:6.5rem 1fr;display:grid}.bm-name{padding-bottom:2.2rem;font-weight:600}.ct{gap:var(--s4) var(--s5);flex-wrap:wrap;display:flex}.ct-group{gap:var(--s2);justify-items:start;display:grid}.ct-discs{grid-template-columns:repeat(5,1.5rem);gap:.35rem;display:grid}.ct-disc{background:var(--lemon);width:1.5rem;height:1.5rem;box-shadow:inset 0 -3px 0 var(--lemon-edge), var(--block-outline);border-radius:50%}.ct-disc--drop{background:var(--vermilion);box-shadow:inset 0 -3px 0 var(--vermilion-edge)}.ct-disc--answer{background:var(--leaf);box-shadow:inset 0 -3px 0 var(--leaf-edge)}.ct-disc--ghost{box-shadow:none;border:2px dashed var(--ghost);background:0 0}.ct-label{font-size:var(--t-sm);color:var(--ink-2);font-weight:600}.ns{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.ns-tile{border-radius:var(--r-block);letter-spacing:0;border:0;place-items:center;min-width:3.2rem;height:3.2rem;padding:0 .7rem;font-size:1.6rem;font-weight:700;line-height:1;display:inline-grid}.ns--lg .ns-tile{min-width:4rem;height:4rem;font-size:2rem}.ns-tile--num{background:var(--lemon);color:var(--on-lemon);box-shadow:var(--block-outline), var(--shadow-rest)}.ns-tile--op{background:var(--ink);color:var(--mat);min-width:2.8rem;box-shadow:var(--shadow-rest);transition:transform var(--dur-2) var(--ease-settle);padding:0}.ns--lg .ns-tile--op{min-width:3.4rem}button.ns-tile--op:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.ns-tile--answer{background:var(--leaf);color:var(--on-leaf);box-shadow:var(--block-outline), var(--shadow-rest)}.ns-tile--ghost{border:2px dashed var(--ghost);color:var(--ink-3);background:0 0}.opkey{gap:var(--s2);flex-wrap:wrap;display:flex}.opkey-item{align-items:center;gap:var(--s3);border-radius:var(--r-control);background:var(--surface);box-shadow:0 0 0 1px var(--line), var(--shadow-rest);text-align:left;transition:transform var(--dur-2) var(--ease-settle), box-shadow var(--dur-2) var(--ease-settle);border:0;padding:.4rem .9rem .4rem .4rem;display:inline-flex}.opkey-item:hover{box-shadow:0 0 0 1px var(--line), var(--shadow-lift);transform:translateY(-2px)}.opkey-item .ns-tile--op{min-width:2.6rem;height:2.6rem;font-size:1.4rem}.opkey-text{line-height:1.25;font-size:var(--t-sm);display:grid}.opkey-text span{color:var(--ink-2)}
