:root{font-family:Trebuchet MS,Avenir Next,sans-serif;color:#333e5a;background:radial-gradient(circle at top,rgba(255,255,255,.5),transparent 26%),linear-gradient(180deg,#d3ecee,#d3ecee 48%,#d3ecee);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{min-height:100vh;padding:0}.lesson-stage{position:relative;min-height:100vh;overflow:hidden;background:#d3ecee}.chrome-icon,.tips-button,.nav-button,.hint-bubble,.lesson-row,.equation-preview,.mode-card,.zero-workspace,.success-check,.label-chip,.label-clear,.zero-slot{box-shadow:0 6px #2f23651f}.close-button{position:absolute;top:2rem;left:1.4rem;z-index:2;border:0;background:transparent;color:#26196a;font-size:4rem;line-height:1}.tips-button{position:absolute;top:2.6rem;right:1.5rem;z-index:2;border:3px solid rgba(39,33,92,.18);background:#ffffff59;color:#5b5b8b;border-radius:999px;padding:.65rem 1.35rem;font-size:1.35rem}.hint-bubble{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.progress-dots{position:absolute;left:1.8rem;top:50%;z-index:2;display:flex;flex-direction:column;gap:.9rem;transform:translateY(-50%)}.progress-dot{width:1.2rem;height:1.2rem;border-radius:999px;background:#43397c24;border:3px solid transparent}.progress-dot.active{background:#fff;border-color:#26196a}.progress-dot.complete{background:#26196a}.nav-controls{position:absolute;right:1.5rem;top:50%;z-index:2;display:flex;flex-direction:column;gap:1rem;transform:translateY(-50%)}.nav-button{width:4.6rem;height:4.6rem;border:0;border-radius:1.5rem;font-size:2rem;line-height:1}.nav-button.primary{background:linear-gradient(180deg,#16d4d1,#12bebc);color:#fff}.nav-button.secondary{background:#fffffff2;color:#26196a}.nav-button:disabled{cursor:not-allowed;opacity:.35}.pages-window{height:100vh;overflow:hidden}.pages-track{height:200vh;transition:transform .42s cubic-bezier(.2,.9,.2,1)}.pages-track-two{height:200vh}.pages-track-single{height:100vh}.lesson-page{min-height:100vh;padding:8.25rem 6rem 7rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem}.lesson-page-top{justify-content:flex-start;padding-top:10.75rem}.page-copy{text-align:center}.eyebrow{margin:0 0 .75rem;font-size:.85rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#7a78b3}.page-copy h1,.page-copy h2{margin:0;color:#333e5a}.page-copy h1{font-size:clamp(4rem,14vw,7rem);letter-spacing:.06em}.page-copy h2{font-size:clamp(1.8rem,5vw,3rem);max-width:42rem}.subcopy{margin:.75rem 0 0;font-size:1.25rem;color:#7471a3}.rule-selector-grid{width:min(42rem,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.top-rule-selector{position:absolute;top:1.8rem;left:50%;z-index:2;display:flex;gap:.7rem;align-items:center;overflow-x:auto;padding-bottom:.2rem;width:max-content;max-width:min(100vw - 16rem,64rem);transform:translate(-50%)}.mode-card{border:0;border-radius:.95rem;min-height:3rem;padding:.7rem 1rem;background:#edf0f4;color:#26196a;font-size:.95rem;font-weight:600;flex:0 0 auto}.mode-card.active,.label-chip.armed,.lesson-row.correct{background:linear-gradient(180deg,#c0f4a8,#9ce782)}.zero-slot.incorrect,.lesson-row.incorrect{background:linear-gradient(180deg,#ffd2d8,#ffb1bc)}.zero-workspace{width:min(48rem,100%);border-radius:1.75rem;background:#fffffff0;padding:1.5rem 1.6rem;display:flex;flex-direction:column;gap:1.2rem}.zero-toolbar{display:flex;gap:.9rem;flex-wrap:nowrap;justify-content:center;align-items:center}.page-clear-button{margin-top:-.35rem;margin-bottom:-.4rem}.label-chip,.label-clear{border:0;border-radius:999px;padding:.75rem .95rem;background:#edf0f4;color:#26196a;font-weight:700;font-size:.95rem;white-space:nowrap;flex:0 0 auto}.zero-number-display{display:flex;flex-wrap:nowrap;gap:.18rem;justify-content:center;align-items:center;font-size:clamp(2.5rem,7vw,4.5rem);color:#333e5a;white-space:nowrap}.zero-char,.zero-slot{min-width:.84em;min-height:1.1em;display:inline-flex;align-items:center;justify-content:center}.decimal-char{min-width:.35em}.zero-slot{border:0;background:transparent;color:#333e5a;font-size:inherit;font-weight:inherit;position:relative;box-shadow:none}.zero-slot.correct{background:transparent;color:transparent}.zero-slot.correct-sandwiched{color:#333e5a;transform:scale(1.3);font-weight:900}.zero-slot.correct:before,.zero-slot.correct:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}.zero-slot.correct:before{width:.45em;height:.72em;border:.045em dotted #333e5a}.zero-slot.correct:after{width:.63em;height:.9em;border:.045em dotted #333e5a}.zero-slot.correct.correct-sandwiched:before,.zero-slot.correct.correct-sandwiched:after{content:none;border:0}.input-stack{width:min(34rem,100%);display:flex;flex-direction:column;gap:1rem}.count-stack{width:min(30rem,100%)}.inline-answer-stack{margin-top:-.6rem}.lesson-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:1.5rem;background:#ffffffeb;padding:1rem 1.1rem}.row-copy{display:flex;flex-direction:column;gap:.2rem}.row-symbol{font-size:2rem;font-weight:700}.row-label{color:#26196ab8}.lesson-row input{width:7rem;border:3px solid rgba(38,25,106,.16);border-radius:1.15rem;background:#fff;padding:.95rem .8rem;text-align:center;color:#26196a;font-size:1.5rem;font-weight:700}.lesson-row input:focus{outline:3px solid rgba(103,63,255,.2)}.lesson-row.disabled{opacity:.72}.lesson-row.disabled input{cursor:not-allowed;background:#f3f3f5}.equation-preview{width:min(34rem,100%);border-radius:1.75rem;background:#fffffff5;padding:1.2rem 1.4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1.1rem;color:#2c2666}.equation-preview strong{font-size:1.45rem}.success-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(180deg,#16d4d1f2,#12bebcfa);color:#fff}.success-check{width:10rem;height:10rem;border-radius:999px;background:#fffffff5;color:#26196a;display:grid;place-items:center;font-size:5rem;font-weight:700}.success-overlay p{position:relative;z-index:1;margin:0;font-size:1.3rem}.bottom-progress{position:absolute;left:50%;bottom:1rem;z-index:2;transform:translate(-50%);width:min(28rem,calc(100vw - 6rem));pointer-events:none}.progress-rack{display:flex;justify-content:center;gap:.35rem;padding:.45rem .75rem;border-radius:999px;background:#fff6;box-shadow:inset 0 0 0 1px #333e5a14}.test-tube{width:1.45rem;height:2.6rem;display:flex;align-items:flex-end;justify-content:center}.test-tube-glass{position:relative;width:1.05rem;height:2.2rem;border:2px solid rgba(51,62,90,.34);border-top-width:.28rem;border-radius:.4rem .4rem .7rem .7rem;background:#ffffff59;overflow:hidden}.test-tube.filled .test-tube-glass{background:linear-gradient(180deg,#ffffff8c,#e3f9f9eb)}.test-tube-molecules{position:absolute;inset:auto .08rem .08rem .08rem;height:1.35rem}.mini-molecule{position:absolute;width:.82rem;height:.82rem}.mini-molecule .cluster{width:.32rem;height:.32rem;box-shadow:inset -.08rem -.08rem .14rem #0000001f,inset .08rem .08rem .12rem #ffffff73}.mini-molecule .cluster-a{left:.05rem;top:.3rem}.mini-molecule .cluster-b{left:.24rem;top:.1rem}.mini-molecule .cluster-c{left:.43rem;top:.31rem}.mini-molecule:nth-child(1){left:.02rem;bottom:.06rem}.mini-molecule:nth-child(2){left:.18rem;bottom:.48rem}.mini-molecule:nth-child(3){left:.05rem;bottom:.86rem}.molecule-burst{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.molecule{position:absolute;width:3.1rem;height:3.1rem;animation:float-molecule 3.4s cubic-bezier(.16,.84,.18,1) infinite;pointer-events:none;will-change:transform,opacity}.cluster{position:absolute;width:.95rem;height:.95rem;border-radius:999px;box-shadow:inset -.18rem -.18rem .28rem #0000001f,inset .16rem .16rem .26rem #ffffff73}.cluster-a{left:.45rem;top:1.15rem}.cluster-b{left:1.15rem;top:.55rem}.cluster-c{left:1.7rem;top:1.2rem}.molecule-0 .cluster-a{background:#f3d20d}.molecule-0 .cluster-b,.molecule-0 .cluster-c{background:#f3f7ff}.molecule-1 .cluster-a,.molecule-1 .cluster-c{background:#f3d20d}.molecule-1 .cluster-b{background:#f0fffa}.molecule-2 .cluster-a{background:#5e7be8}.molecule-2 .cluster-b,.molecule-2 .cluster-c{background:#7fa2ff}.molecule-3 .cluster-a,.molecule-3 .cluster-c{background:#a7c900}.molecule-3 .cluster-b{background:#6d85f2}@keyframes float-molecule{0%{transform:translate(-50%,-50%) translate(0) rotate(0) scale(.55);opacity:0}15%{opacity:1}70%{opacity:1}to{transform:translate(-50%,-50%) translate(var(--offset-x),var(--offset-y)) rotate(var(--rotation)) scale(calc(var(--scale) * 1.18));opacity:.98}}@media (max-width: 700px){.hint-bubble{width:1px;height:1px}.close-button{top:1rem;left:1rem;font-size:3rem}.tips-button{top:1.35rem;right:1rem;font-size:1rem;padding:.55rem 1rem}.progress-dots{left:1rem;gap:.65rem}.progress-dot{width:1rem;height:1rem}.nav-controls{right:1rem;gap:.7rem}.nav-button{width:3.8rem;height:3.8rem;border-radius:1.2rem;font-size:1.7rem}.lesson-page{padding:6.5rem 4.3rem 6.1rem}.lesson-page-top{padding-top:7.75rem}.page-copy h1{font-size:4.5rem}.page-copy h2{font-size:1.55rem}.rule-selector-grid{grid-template-columns:1fr;width:min(20rem,100%)}.top-rule-selector{top:1.3rem;gap:.55rem;left:50%;width:calc(100vw - 1.6rem);max-width:calc(100vw - 1.6rem);transform:translate(-50%)}.lesson-row input{width:5.6rem;font-size:1.35rem}.equation-preview{flex-direction:column;align-items:flex-start}.success-check{width:7.5rem;height:7.5rem;font-size:3.8rem}.bottom-progress{width:calc(100vw - 4.5rem);bottom:.7rem}.progress-rack{gap:.22rem;padding-inline:.45rem}.test-tube{width:1.18rem;height:2.15rem}.test-tube-glass{width:.84rem;height:1.82rem}}
