.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rendered-card-sprout{width:210px;height:230px;background-image:url("assets/sprout-render-sheet-v2.png")!important;background-repeat:no-repeat!important;background-size:500% 200%!important;background-color:transparent!important;background-position:var(--sprite-x) var(--sprite-y)!important;filter:drop-shadow(0 14px 12px rgba(0,0,0,.28))}.rendered-card-sprout.family-dragon{--sprite-x:0%;--sprite-y:0%}.rendered-card-sprout.family-beast{--sprite-x:25%;--sprite-y:0%}.rendered-card-sprout.family-avian{--sprite-x:50%;--sprite-y:0%}.rendered-card-sprout.family-amphibian{--sprite-x:75%;--sprite-y:0%}.rendered-card-sprout.family-construct{--sprite-x:100%;--sprite-y:0%}.rendered-card-sprout.family-spirit{--sprite-x:0%;--sprite-y:100%}.rendered-card-sprout.family-insect{--sprite-x:25%;--sprite-y:100%}.rendered-card-sprout.family-plant{--sprite-x:50%;--sprite-y:100%}.rendered-card-sprout.family-aquatic{--sprite-x:75%;--sprite-y:100%}.rendered-card-sprout.family-gremlin{--sprite-x:100%;--sprite-y:100%}
.lab-intro{display:flex;justify-content:space-between;align-items:end;margin:10px 0 35px}.lab-intro>div:first-child{max-width:720px}.lab-intro h1{font:700 clamp(42px,5vw,66px)/1 Fraunces,serif;letter-spacing:-.04em;margin:0}.lab-intro p:last-child{font-size:17px;line-height:1.6;color:var(--muted)}.saved-badge{border:1px solid var(--gold);color:#795a20;border-radius:99px;padding:9px 13px;font-size:10px;font-weight:800;letter-spacing:.1em}
.companion-card{display:flex;flex-direction:column;align-items:center;text-align:center}.companion-card .rendered-card-sprout{margin:4px auto 10px}.companion-card h2{font:700 26px Fraunces;margin:0}.companion-card progress{width:min(320px,100%);height:10px;margin-top:18px}.companion-card>p{color:var(--muted);max-width:340px}.companion-card #xpText{font-size:11px;margin:6px 0}.rendered-card-sprout.happy{animation:renderedBounce .55s ease}@keyframes renderedBounce{50%{transform:translateY(-14px) rotate(-2deg)}}.den-scene .rendered-card-sprout{position:absolute;left:50%;bottom:35px;transform:translateX(-50%) scale(1.15)}
.shared-guide{display:flex;justify-content:space-between;align-items:center;margin:18px 0 12px;padding:12px 15px;border-radius:9px;background:#e8f2ff;border-left:4px solid #2877c7;color:#174b80;font-size:12px}.shared-guide span{font-weight:700}.reading-line{display:block;margin:0 -8px;padding:2px 8px;border-left:3px solid transparent;border-radius:4px;transition:background .2s,border-color .2s}.reading-line.current-line{background:#f0f6ff;border-left-color:#2877c7}.passage.shared-reading .story-segment{border-radius:5px;padding:2px 8px;transition:.2s}.passage.shared-reading .story-segment.child-turn{background:#dceeff;box-shadow:inset 0 -2px #4b94d1}.passage.shared-reading .story-segment.active-turn{outline:3px solid #2877c7;outline-offset:3px}.passage.shared-reading .story-segment.computer-done{color:#71817a}.word.current-word{outline:2px solid #2877c7;outline-offset:2px;background:#e8f2ff}.measure-note{font-size:9px;line-height:1.45;color:var(--muted);margin:12px 0}.reader-controls{flex-wrap:wrap}.quiz-progress{font-weight:700;color:var(--green)}
.reading-line{--line-progress:0%;--word-cadence:450ms;position:relative;isolation:isolate;margin:2px -8px;padding:3px 8px 6px;border-radius:5px;background:linear-gradient(90deg,rgba(75,148,209,.2) 0 var(--line-progress),transparent var(--line-progress) 100%);transition:background var(--word-cadence) linear,border-color .2s}.reading-line::after{content:"";position:absolute;z-index:-1;left:8px;bottom:2px;width:calc(var(--line-progress) - 8px);max-width:calc(100% - 16px);height:3px;border-radius:99px;background:#2877c7;transition:width var(--word-cadence) linear}.reading-line.current-line{border-left-color:#2877c7}.reading-line.line-complete{background:#e5f0df;border-left-color:#39765b}.reading-line.line-complete::after{background:#39765b}
.reading-line::after{left:0;z-index:0;width:var(--line-progress);max-width:100%;pointer-events:none}
.mic-check{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#f4f7f0}.mic-check div{display:flex;flex-direction:column;gap:4px}.mic-check b{font-size:13px}.mic-check span{font-size:11px;line-height:1.4;color:var(--muted)}.mic-check.testing{border-color:#4b94d1;background:#edf6ff}.mic-check.ready{border-color:#679064;background:#edf7e9}.mic-check.problem{border-color:#b87962;background:#fff1eb}
@media(max-width:700px){.lab-intro{display:block}.saved-badge{display:inline-block;margin-top:12px}.mic-check{align-items:stretch;flex-direction:column}}
:root{--muted:#59665f}
.skip-link{position:fixed;left:16px;top:10px;z-index:1000;transform:translateY(-150%);background:#18352d;color:#fff;padding:12px 16px;border-radius:8px}.skip-link:focus{transform:none}.empty-state{grid-column:1/-1;padding:32px;text-align:center;color:var(--muted)}
.chapter-reward,.battle-shell{text-align:center}.chapter-seal{width:88px;height:88px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;background:var(--sage);color:var(--green);font-size:40px}.growth-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}.growth-choice{min-height:112px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.growth-choice:hover,.growth-choice:focus-visible{border-color:var(--green);background:var(--sage);transform:translateY(-2px)}.growth-choice b,.growth-choice span{display:block}.growth-choice b{font:700 19px Fraunces;margin-bottom:7px}.growth-choice span{font-size:12px;color:var(--muted);line-height:1.5}.battle-crests{display:flex;justify-content:center;align-items:center;gap:22px;margin:16px 0;font-size:48px}.battle-crests strong{font:800 12px "DM Sans";letter-spacing:.16em}.battle-shell.won{border-color:var(--gold);box-shadow:0 18px 50px rgba(217,168,78,.2)}@media(max-width:600px){.growth-choices{grid-template-columns:1fr}.growth-choice{min-height:92px}}
:root .experience-preview{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0 10px}:root .experience-preview span{padding:4px 7px;border-radius:99px;background:var(--sage);color:var(--green);font-size:9px;font-weight:800}
