:root{--blue:#2463eb;--blue-dark:#174dc7;--ink:#172940;--muted:#53647b;--line:#dce3ed;--page:#f5f7fb;--soft:#edf3ff;--green:#15734d;--green-soft:#eaf7f0;--gold:#ffd25a;--orange:#9f5209;--orange-soft:#fff4df;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--page);font-size:16px;line-height:1.55;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:var(--blue)}button:disabled{cursor:default}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button{color:inherit}button,input{touch-action:manipulation}.skip-link{position:fixed;top:-80px;left:16px;background:white;padding:12px;z-index:10}.skip-link:focus{top:12px}
.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{padding:32px 22px 22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;font-size:30px;letter-spacing:-1.3px;font-weight:800;margin:0 10px 30px}.brand-mark{width:34px;height:34px;background:var(--blue);border-radius:10px;display:grid;place-items:center}.brand-mark svg{width:25px;height:25px}.course-label{margin:0 10px 25px}.course-label strong{display:block;font-size:15px}.course-label span{font-size:13px;color:var(--muted)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase}.path-label{margin:0 10px 13px}.lesson-nav{display:flex;flex-direction:column;gap:8px}.nav-lesson{border:1px solid transparent;background:none;display:flex;align-items:center;text-align:left;gap:12px;width:100%;padding:12px 10px;border-radius:12px;position:relative}.nav-lesson:hover{background:var(--page)}.nav-lesson.active{background:var(--soft);border-color:var(--blue);color:var(--blue-dark)}.nav-number{border:1px solid var(--line);width:33px;height:33px;display:grid;place-items:center;flex:none;border-radius:50%;font-size:13px;font-weight:700;background:#fff}.active .nav-number{background:var(--blue);color:#fff;border-color:var(--blue)}.complete .nav-number{background:var(--green-soft);border-color:#a8d6bf;color:var(--green)}.nav-copy strong{display:block;font-size:14px;font-weight:650}.nav-copy small{display:block;font-size:12px;color:var(--muted);margin-top:2px}.sidebar-bottom{margin-top:auto;padding:24px 10px 0}.progress-line{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:10px}.progress-track{height:7px;border-radius:8px;background:var(--line);overflow:hidden}.progress-fill{height:100%;background:var(--blue);border-radius:8px;transition:width .3s}.sidebar-note{font-size:12px;color:var(--muted);margin:12px 0 0}.main{min-width:0}.topbar{height:76px;padding:0 44px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar-label{font-size:12px;letter-spacing:1.2px;color:var(--muted);font-weight:650}.topbar-label b{color:var(--ink);font-weight:700}.topbar-right{display:flex;gap:18px;align-items:center;white-space:nowrap}.xp{font-size:14px;font-weight:750;color:#795711;display:flex;align-items:center;gap:6px}.xp-icon{width:23px;height:23px;background:var(--gold);border-radius:7px;display:grid;place-items:center;font-size:15px}.prototype-tag{color:var(--muted);font-size:12px;border:1px solid var(--line);padding:4px 9px;border-radius:6px}.content{max-width:1330px;margin:0 auto;padding:32px 44px 24px}.lesson-intro{margin-bottom:22px}.intro-meta{display:flex;gap:12px;align-items:center;margin-bottom:9px}.time{color:var(--muted);font-size:13px}.intro-meta .eyebrow{color:var(--blue)}h1{font-size:32px;line-height:1.2;letter-spacing:-.9px;margin:0 0 10px;font-weight:750}h2{font-size:22px;line-height:1.35;letter-spacing:-.4px;margin:0 0 10px}h3{font-size:17px;margin:0 0 10px;line-height:1.4}p{margin:0 0 14px}.intro-desc{color:var(--muted);margin:0;max-width:740px;font-size:16px}.steps{display:flex;border-bottom:1px solid var(--line);margin:0 0 26px;gap:25px}.step-tab{border:0;background:transparent;display:flex;align-items:center;gap:9px;color:var(--muted);padding:0 1px 15px;font-size:14px;font-weight:650;position:relative}.step-tab.active{color:var(--blue)}.step-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--blue);border-radius:3px}.step-tab:disabled{opacity:.55}.step-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:12px}.active .step-num{background:var(--blue);border-color:var(--blue);color:white}.step-tab.done .step-num{color:var(--green);border-color:#acd7c0;background:var(--green-soft)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:24px;align-items:start}.lesson-body{min-width:0}.experiment-prompt{padding:20px 22px;background:white;border:1px solid var(--line);border-radius:15px;margin-bottom:16px}.small-label{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--blue);margin-bottom:6px;display:block}.experiment-prompt h2{font-size:18px;margin-bottom:13px;letter-spacing:-.2px}.prediction-options{display:flex;gap:9px;flex-wrap:wrap}.prediction{border:1px solid var(--line);border-radius:8px;background:#fff;padding:7px 13px;font-size:14px;font-weight:600}.prediction:hover{border-color:var(--blue);background:var(--soft)}.prediction.selected{border-color:var(--blue);background:var(--soft);color:var(--blue-dark);box-shadow:inset 0 0 0 1px var(--blue)}.experiment-instruction{margin:12px 0 0;font-size:14px;color:var(--muted)}.observation{margin-top:14px;padding:12px 14px;background:var(--green-soft);border-left:3px solid var(--green);border-radius:5px;font-size:14px;color:#205b44}.circuit-card{border:1px solid var(--line);border-radius:15px;background:#fff;overflow:hidden}.circuit-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 20px;border-bottom:1px solid var(--line)}.circuit-title{font-size:14px;font-weight:650}.circuit-actions{display:flex;gap:5px}.icon-button{background:transparent;border:1px solid var(--line);font-size:12px;padding:4px 9px;border-radius:6px;min-height:31px}.icon-button:hover{background:var(--page)}.diagram-wrap{background:var(--page);background-image:radial-gradient(var(--line) .75px,transparent .75px);background-size:16px 16px;padding:4px 12px 0;position:relative}.diagram{display:block;width:100%;height:auto;max-height:305px;min-height:160px}.diagram text{font-family:Inter,"Segoe UI",system-ui,sans-serif;fill:var(--ink);font-size:15px}.diagram .value-label{font-weight:700;font-size:17px}.diagram .small-svg{font-size:12px;fill:var(--muted)}.diagram .wire{stroke:var(--muted);stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.diagram .wire-live{stroke:var(--blue)}.diagram .component{stroke:var(--blue);fill:var(--soft);stroke-width:2.4}.diagram .dot{fill:var(--blue)}.diagram .electron{fill:#b3600b}.diagram .current-label{fill:var(--blue);font-weight:700;font-size:16px}.diagram .node{fill:var(--blue);stroke:#fff;stroke-width:2}.diagram .voltage-highlight{stroke:#b7750e;stroke-width:2;stroke-dasharray:5 5;fill:none}.sim-note{font-size:12px;color:var(--muted);padding:0 20px 13px;margin:0;line-height:1.55}.readings{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:16px 0}.reading{text-align:center;padding:0 8px;border-right:1px solid var(--line)}.reading:last-child{border-right:0}.reading-label{font-size:12px;color:var(--muted);display:block;margin-bottom:2px}.reading-value{font-size:23px;font-weight:750;letter-spacing:-.5px}.reading-unit{font-size:14px;font-weight:500;color:var(--muted);margin-left:3px}.reading:first-child .reading-value{color:var(--blue)}.controls{border-top:1px solid var(--line);padding:18px 20px;display:grid;gap:18px}.control-line{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:7px}.control-line label{font-weight:600}.control-line output{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.range-control input[type=range]{width:100%;accent-color:var(--blue);height:24px;cursor:pointer;margin:0}.range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;line-height:1}.switch-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.switch-row strong{display:block;font-size:14px}.switch-row small{color:var(--muted);font-size:12px}.switch{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;min-width:116px;min-height:40px;background:#fff;font-size:14px;font-weight:600}.switch.on{background:var(--soft);color:var(--blue-dark);border-color:var(--blue)}.switch-indicator{width:14px;height:14px;border:2px solid currentColor;border-radius:4px}.on .switch-indicator{background:var(--blue);border-color:var(--blue)}.secondary{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 14px;font-size:14px;font-weight:600}.secondary:hover{background:var(--page)}.secondary.selected{background:var(--soft);border-color:var(--blue);color:var(--blue-dark)}.two-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px}.equivalent-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.equivalent-row p{font-size:13px;color:var(--muted);margin:0}.laws-toggle{display:flex;gap:8px;flex-wrap:wrap}.law-equation{background:var(--soft);padding:13px 16px;border-radius:8px;margin:0;color:var(--blue-dark);font-weight:650;text-align:center;font-size:16px}.aside{display:grid;gap:16px}.reference{padding:22px;border-radius:14px;background:#fff;border:1px solid var(--line)}.reference.blue{background:var(--soft);border-color:var(--line)}.reference h3{font-size:15px;margin-bottom:14px}.formula{font-size:27px;font-weight:750;letter-spacing:-.7px;margin:0 0 10px;color:var(--blue-dark)}.reference p{font-size:14px;margin:0 0 12px;color:var(--muted)}.reference p:last-child{margin:0}.notation{display:grid;grid-template-columns:22px 1fr;gap:7px 9px;font-size:13px;margin:14px 0 0}.notation dt{font-weight:750;color:var(--blue-dark)}.notation dd{margin:0;color:var(--muted)}.objectives{padding:0;list-style:none;margin:0;display:grid;gap:12px;font-size:14px;color:var(--muted)}.objectives li{display:flex;gap:9px;align-items:baseline}.objective-icon{font-size:12px;color:var(--blue)}.mistake-box{border-left:3px solid var(--gold);padding:2px 0 2px 12px;font-size:14px;color:var(--muted);margin-top:16px}.mistake-box strong{color:var(--ink);display:block;margin-bottom:3px}.lesson-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.footer-caption{color:var(--muted);font-size:13px;max-width:380px}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);border-bottom:3px solid var(--blue-dark);padding:11px 21px;border-radius:9px;font-size:15px;font-weight:700;white-space:nowrap;min-height:46px}.primary:hover{background:var(--blue-dark)}.primary:disabled{background:var(--soft);color:var(--muted);border-color:var(--line)}.text-button{border:0;background:transparent;color:var(--muted);font-size:14px;padding:8px 0}.text-button:hover{color:var(--blue)}.page-footer{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:12px;margin-top:30px;flex-wrap:wrap}.sources summary{cursor:pointer;color:var(--muted)}.sources-body{margin:12px 0;font-size:13px;max-width:700px;line-height:1.7}.sources-body a{display:block;margin:4px 0}.lesson-text{padding:24px;border-radius:15px;background:#fff;border:1px solid var(--line);margin-bottom:16px}.lesson-text p{font-size:16px;line-height:1.75;color:#374a63}.worked-example{margin-top:20px;background:var(--page);padding:18px;border-radius:10px}.worked-example h3{font-size:15px}.worked-example ol{padding-left:22px;margin:0;font-size:14px;line-height:1.8}.worked-example .equation{font-size:19px;font-weight:700;color:var(--blue-dark);margin-top:10px;letter-spacing:-.2px}.takeaway{margin-top:18px;font-size:14px;padding:14px 16px;border-left:3px solid var(--gold);background:#fff9e9;border-radius:6px}.quiz-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:26px}.quiz-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.quiz-counter{font-size:13px;color:var(--muted)}.quiz-mini-progress{display:flex;gap:5px}.quiz-mini-progress span{width:26px;height:5px;background:var(--line);border-radius:4px}.quiz-mini-progress .filled{background:var(--blue)}.quiz-card h2{font-size:22px;line-height:1.45;margin-bottom:20px}.question-context{font-size:15px;color:var(--muted);margin-bottom:16px}.answer-options{display:grid;gap:10px}.answer-option{display:flex;align-items:center;gap:12px;width:100%;border:1px solid var(--line);padding:14px 16px;background:#fff;border-radius:10px;text-align:left;font-size:16px}.answer-option:hover{border-color:var(--blue);background:var(--soft)}.answer-option.selected{border:2px solid var(--blue);padding:13px 15px;background:var(--soft);color:var(--blue-dark)}.answer-key{font-size:12px;flex:none;display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:6px;color:var(--muted)}.numeric-answer{display:flex;align-items:center;gap:12px;margin:12px 0}.numeric-answer input{width:180px;max-width:75%;border:1px solid var(--line);border-radius:9px;padding:14px 16px;font-size:23px;font-weight:650;line-height:1.2}.numeric-answer label{font-size:19px;font-weight:600}.answer-label{font-size:14px;color:var(--muted);display:block}.hint-actions{display:flex;gap:18px;margin-top:20px;flex-wrap:wrap}.hint-button{border:0;background:none;padding:0;color:var(--blue);font-size:14px;min-height:32px}.hint-content{background:var(--orange-soft);padding:13px 15px;border-radius:8px;font-size:14px;color:#725324;margin-top:10px}.feedback{border-radius:10px;padding:17px;margin-top:20px;font-size:15px;line-height:1.6}.feedback strong{display:block;margin-bottom:5px;font-size:16px}.feedback.correct{background:var(--green-soft);border:1px solid #b3dec9;color:#15563b}.feedback.wrong{background:var(--orange-soft);border:1px solid #ead2a7;color:#76521d}.quiz-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.completion{border:1px solid var(--line);background:white;border-radius:16px;text-align:center;padding:40px 28px}.completion-icon{width:70px;height:70px;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:33px;font-weight:650;display:grid;place-items:center;margin:0 auto 20px}.completion h2{font-size:28px}.completion p{color:var(--muted);max-width:480px;margin:10px auto 20px}.complete-stat{display:inline-block;border-radius:8px;background:#fff4d2;color:#795711;font-weight:700;padding:7px 14px;margin-bottom:20px}.completion .objectives{text-align:left;max-width:410px;margin:0 auto 28px;color:var(--ink)}.completion-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.all-complete{color:var(--green);font-size:14px;background:var(--green-soft);padding:14px;border-radius:10px;margin-bottom:20px}.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}
.circuit-card>.controls{border-top:1px solid var(--line);border-bottom:0}
.diagram text{font-size:17px}.diagram .value-label{font-size:19px}.diagram .small-svg{font-size:14px}.diagram .current-label{font-size:17px}
@media(max-width:720px){.diagram text{font-size:19px}.diagram .value-label{font-size:21px}.diagram .current-label{font-size:19px}.diagram .small-svg{font-size:16px}}
@media(min-width:1001px){.diagram{max-height:255px}}
@media(min-width:1550px){.content{padding-top:40px}.workspace{grid-template-columns:minmax(0,1fr) 285px}.diagram{max-height:280px}}
@media(max-width:1200px){.shell{grid-template-columns:224px minmax(0,1fr)}.sidebar{padding:26px 16px}.content{padding:28px}.topbar{padding:0 28px}.workspace{grid-template-columns:minmax(0,1fr) 230px;gap:18px}.reference{padding:18px}.diagram{min-height:145px}h1{font-size:29px}.nav-copy strong{font-size:13px}}
@media(max-width:1000px){.shell{grid-template-columns:210px minmax(0,1fr)}.workspace{grid-template-columns:minmax(0,1fr)}.aside{grid-template-columns:1fr 1fr}.reference{padding:18px}.diagram{max-height:300px}.sidebar{padding:25px 12px}.brand{font-size:28px}.content{padding:25px}.topbar{padding:0 25px}.reference .formula{font-size:24px}.mistake-box{margin-top:12px}}
@media(max-width:720px){.shell{display:block}.sidebar{height:auto;position:relative;padding:17px 20px 15px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin:0;font-size:27px;gap:8px}.brand-mark{width:30px;height:30px}.course-label{position:absolute;right:20px;top:20px;margin:0;text-align:right}.course-label strong{font-size:13px}.course-label span{font-size:12px}.path-label{display:none}.lesson-nav{flex-direction:row;overflow-x:auto;gap:7px;margin-top:18px;padding-bottom:3px;scrollbar-width:thin}.nav-lesson{flex:0 0 auto;width:auto;gap:7px;padding:8px 9px;border:1px solid var(--line);border-radius:9px}.nav-number{width:25px;height:25px;font-size:12px}.nav-copy strong{font-size:13px}.nav-copy small{display:none}.sidebar-bottom{display:none}.topbar{height:52px;padding:0 20px}.topbar-label{font-size:10px;letter-spacing:.7px}.topbar-right{gap:9px}.prototype-tag{display:none}.xp{font-size:12px}.xp-icon{width:20px;height:20px;font-size:12px}.content{padding:24px 20px 20px}.intro-meta{margin-bottom:10px}.intro-meta .eyebrow{font-size:11px}h1{font-size:27px;letter-spacing:-.65px;line-height:1.25}.intro-desc{font-size:15px}.steps{gap:22px;margin-bottom:20px}.step-tab{font-size:13px;gap:7px}.experiment-prompt{padding:17px}.experiment-prompt h2{font-size:17px}.prediction{font-size:13px;padding:7px 11px}.diagram-wrap{padding:4px 0 0}.diagram{min-height:155px}.circuit-toolbar{padding:12px 14px}.circuit-title{font-size:13px}.icon-button{font-size:11px;padding:4px 7px}.sim-note{padding:0 14px 12px;font-size:12px}.controls{padding:18px 16px}.reading-value{font-size:21px}.reading-label{font-size:11px}.aside{grid-template-columns:minmax(0,1fr)}.aside .reference:last-child{display:none}.reference.blue{display:grid;grid-template-columns:1fr 1.4fr;gap:0 15px}.reference.blue h3{grid-column:1/-1;margin-bottom:10px}.reference.blue p{font-size:13px}.reference.blue .notation{margin:0;grid-column:2;grid-row:2/4;font-size:12px}.reference .formula{font-size:24px}.reference.blue>p:last-of-type{grid-column:1/-1;margin-top:6px}.lesson-footer{flex-wrap:wrap;gap:10px}.footer-caption{font-size:12px;max-width:100%;width:100%}.lesson-footer .primary{margin-left:auto}.primary{padding:10px 16px;font-size:14px}.two-controls{gap:15px}.equivalent-row{align-items:flex-start;flex-direction:column;gap:10px}.switch-row{gap:10px}.lesson-text{padding:20px}.quiz-card{padding:21px}.quiz-card h2{font-size:20px}.completion{padding:30px 21px}.page-footer{font-size:11px}.source-footer{display:block}.quiz-actions{flex-wrap:wrap}.quiz-actions .primary{margin-left:auto}}
.foundation-card,.concept-card{padding:26px;background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:20px}.foundation-card h2,.concept-card h2{font-size:24px;line-height:1.35;margin:10px 0 16px;letter-spacing:-.4px}.foundation-card p{font-size:16px;line-height:1.65;margin:0 0 16px}.foundation-definition{color:var(--ink)}.foundation-why{color:var(--muted)}.foundation-why strong{color:var(--ink)}.foundation-card h3{font-size:16px;margin:24px 0 12px}.foundation-terms{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0 0 24px}.foundation-terms dt{font-size:16px;font-weight:750;color:var(--blue);margin-bottom:5px}.foundation-terms dd{font-size:16px;line-height:1.6;margin:0;color:var(--muted)}.foundation-figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.foundation-figure .diagram-wrap{padding:10px 0}.foundation-figure figcaption{padding:16px;font-size:16px;line-height:1.6;border-top:1px solid var(--line);color:var(--muted)}.foundation-figure figcaption strong{color:var(--ink)}.concept-options{display:flex;gap:10px;flex-wrap:wrap}.concept-options button{font-size:16px;text-align:left;white-space:normal;line-height:1.45}.concept-help{font-size:16px;line-height:1.6;color:var(--muted);margin:16px 0 0}.concept-feedback{margin-top:18px;padding:16px;border-radius:10px;font-size:16px;line-height:1.6;background:var(--soft)}.concept-feedback strong{display:block;color:var(--blue)}.concept-feedback p{margin:4px 0 0}.foundation-aside .reference p{font-size:16px;line-height:1.6;color:var(--muted)}.experiment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.experiment-heading .text-button{font-size:14px}.concept-card :focus-visible,.foundation-card :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:720px){.foundation-card,.concept-card{padding:20px}.foundation-card h2,.concept-card h2{font-size:22px}.foundation-terms{grid-template-columns:1fr;gap:16px}.concept-options{flex-direction:column}.concept-options button{width:100%}.experiment-heading{align-items:flex-start;flex-direction:column}.foundation-aside .reference:last-child{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.unit-picker{flex-shrink:0;border:1px solid var(--line);border-radius:8px;background:var(--surface,#fff);margin-bottom:14px;overflow:hidden}.unit-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;font-size:14px;cursor:pointer;width:100%;background:none;border:0;text-align:left}.unit-trigger:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 4px 4px;flex:none}.unit-picker.open .unit-trigger:after{transform:rotate(225deg);margin-bottom:0}.unit-picker.open .unit-trigger{border-bottom:1px solid var(--line);background:var(--soft)}.unit-trigger:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.unit-options{padding:5px;display:grid;gap:3px}.unit-options[hidden]{display:none}.unit-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:0;border-radius:6px;padding:9px 8px;text-align:left;font-size:14px;line-height:1.4;min-height:40px}.unit-option:hover,.unit-option.selected{background:var(--soft);color:var(--blue-dark)}.unit-count{font-size:12px;color:var(--muted);flex:none}.unit-option:focus-visible{outline-offset:-2px}
@media(max-width:720px){.unit-picker{margin-bottom:0}.unit-trigger{padding:10px 12px}.unit-option{padding:10px 12px}}
.section-links{display:grid;gap:4px;margin:0 0 18px}.section-links button{display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font-size:14px;font-weight:650}.section-links .selected{background:var(--soft);color:var(--blue-dark)}.section-links button span{font-size:12px;color:var(--muted)}.unit-label{font-size:11px;color:var(--muted);font-weight:650;margin:0 10px 5px}select{font:inherit;color:var(--ink);background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px;padding:9px 10px;width:100%;font-size:13px;margin-bottom:14px}select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.sidebar{overflow-y:auto}.lesson-nav{flex-shrink:0}.sidebar .brand{flex-shrink:0;margin-bottom:22px}.sidebar .course-label{margin-bottom:16px}.xp{border:0;background:transparent;padding:8px;cursor:pointer;border-radius:8px}.xp:hover{background:var(--orange-soft)}.step-extra{font-size:12px;margin-left:auto;color:var(--green);padding:4px 0}.formula{font-size:23px;overflow-wrap:anywhere}.notation{grid-template-columns:minmax(28px,auto) 1fr}.circuit-svg{max-height:355px;color:var(--blue)}.circuit-svg .component{stroke:var(--blue);fill:var(--soft);stroke-width:2.4}.circuit-svg .value-label{font-weight:700}.circuit-svg .diagram-stroke{fill:none}.circuit-svg .flow-dot{fill:var(--blue);stroke:var(--surface,#fff);stroke-width:1}.flow-caption{border-top:1px solid var(--line);padding:12px 20px;font-size:13px;line-height:1.55;background:var(--soft);color:var(--muted)}.flow-caption strong{color:var(--blue-dark);font-weight:650}.circuit-svg .flow-dot.phase-two{fill:var(--green)}.circuit-svg .flow-dot.phase-three{fill:var(--orange,#ca7818)}.circuit-actions .ideal-label{font-size:11px;color:var(--muted);align-self:center;white-space:nowrap}@media(max-width:720px){.circuit-toolbar{flex-wrap:wrap}.flow-caption{padding:10px 14px;font-size:12px}.circuit-svg{min-height:180px}}.lab-ranges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.lab-ranges:empty{display:none}.lab-toggle>span{display:block;font-size:13px;font-weight:650;margin-bottom:7px}.lab-toggle .secondary{font-size:13px;padding:7px 11px}.readings{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));row-gap:15px}.readings .reading-value{font-size:21px}.quiz-mini-progress{margin-bottom:20px}.exam-banner{background:var(--soft);border-radius:9px;padding:13px 15px;margin-bottom:20px;display:grid;gap:3px;font-size:13px;color:var(--blue-dark)}.exam-banner span{font-size:12px;color:var(--muted)}.exam-start{margin-bottom:18px}.reward-notice{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--green-soft);color:var(--green);border:1px solid var(--green);border-radius:10px;padding:12px 17px;margin-bottom:24px;font-size:14px}.reward-notice button{border:0;background:none;font-size:24px}.reward-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:15px;background:var(--surface,#fff);padding:25px;margin:26px 0;gap:20px}.reward-summary>div{display:grid;text-align:center}.reward-summary strong{font-size:34px;letter-spacing:-1px;color:var(--blue)}.reward-summary span{font-size:13px;color:var(--muted)}.next-goal{display:grid;grid-template-columns:1fr auto;gap:12px;background:var(--soft);padding:19px 22px;border-radius:12px;margin-bottom:24px}.next-goal>span{font-size:13px;color:var(--muted)}.next-goal .progress-track{grid-column:1/-1}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.reward-card{border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);overflow:hidden}.reward-card.locked .theme-preview{opacity:.7}.theme-preview{height:158px;display:flex;align-items:center;justify-content:space-between;padding:24px;background:#edf3ff;color:#2463eb;gap:12px}.theme-preview svg{width:55%}.theme-preview span{font-size:20px;font-weight:750}.preview-copper{background:#fff3e8;color:#b4652d}.preview-scope{background:#092c26;color:#58e4a5}.preview-night{background:#171f37;color:#95a9ff}.reward-card-body{padding:22px}.reward-card h2{font-size:22px}.reward-card p{color:var(--muted);font-size:14px;min-height:44px}.reward-card button{width:100%}.secondary:disabled{color:var(--muted);background:var(--page)}.milestone{margin-top:28px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff)}.milestone p{color:var(--muted);font-size:14px}.review-unit{margin:28px 0}.review-unit>h2{font-size:19px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:17px;background:var(--surface,#fff);flex-wrap:wrap}.review-card>div{flex:1;min-width:140px}.review-card h3{font-size:15px;margin:0 0 3px}.review-card p{font-size:12px;color:var(--muted);margin:0}.review-badge{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--soft);color:var(--blue);font-size:23px}.mastered .review-badge{background:var(--green-soft);color:var(--green)}.review-card button{font-size:12px;padding:7px 10px}.lesson-text p{color:var(--muted)}
:root[data-theme=copper]{--blue:#b45b26;--blue-dark:#8b3d11;--soft:#fff0e4;--page:#fcf7f1;--ink:#3e2b21;--muted:#715b4e;--line:#eadacc;--gold:#edb85e}
:root[data-theme=scope]{--blue:#61dbab;--blue-dark:#91efc9;--ink:#e2f5ec;--muted:#adcbc1;--line:#315449;--page:#0b221d;--soft:#173e32;--surface:#122e26;--green:#93e6b6;--green-soft:#194833;--orange-soft:#423720;--gold:#e0c578}
:root[data-theme=night]{--blue:#95a9ff;--blue-dark:#c1ceff;--ink:#e8edff;--muted:#b0bfd9;--line:#344460;--page:#10172a;--soft:#253255;--surface:#1b263e;--green:#91dfb4;--green-soft:#193d37;--orange-soft:#463c28;--gold:#edc46f}
:root[data-theme=scope] :is(.sidebar,.topbar,.foundation-card,.concept-card,.experiment-prompt,.prediction,.circuit-card,.secondary,.reference,.lesson-text,.quiz-card,.answer-option,.completion,.nav-number,.switch,.skip-link),:root[data-theme=night] :is(.sidebar,.topbar,.foundation-card,.concept-card,.experiment-prompt,.prediction,.circuit-card,.secondary,.reference,.lesson-text,.quiz-card,.answer-option,.completion,.nav-number,.switch,.skip-link){background:var(--surface)}
:root[data-theme=scope] :is(.reference.blue,.prediction.selected,.answer-option.selected,.secondary.selected,.nav-lesson.active),:root[data-theme=night] :is(.reference.blue,.prediction.selected,.answer-option.selected,.secondary.selected,.nav-lesson.active){background:var(--soft);border-color:var(--blue)}
:root[data-theme=scope] .diagram-wrap,:root[data-theme=night] .diagram-wrap{background-color:var(--page);background-image:radial-gradient(var(--line) .75px,transparent .75px)}
:root[data-theme=scope] :is(.diagram .component,.circuit-svg .component),:root[data-theme=night] :is(.diagram .component,.circuit-svg .component){fill:var(--soft);stroke:var(--blue)}
:root[data-theme=scope] .diagram :is(.small-svg,.current-label),:root[data-theme=night] .diagram :is(.small-svg,.current-label){fill:var(--muted)}
:root[data-theme=scope] :is(.numeric-answer input,.takeaway),:root[data-theme=night] :is(.numeric-answer input,.takeaway){background:var(--page);color:var(--ink)}
:root[data-theme=scope] :is(.primary:not(:disabled),.active .step-num,.active .nav-number),:root[data-theme=night] :is(.primary:not(:disabled),.active .step-num,.active .nav-number){color:var(--page);border-bottom-color:var(--blue)}
:root[data-theme=scope] :is(.observation,.feedback.correct),:root[data-theme=night] :is(.observation,.feedback.correct){color:var(--green)}
:root[data-theme=scope] :is(.hint-content,.feedback.wrong),:root[data-theme=night] :is(.hint-content,.feedback.wrong){color:var(--gold)}
@media(min-width:1550px){.reward-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-preview{flex-direction:column;height:160px;padding:15px}.theme-preview svg{width:80%}}
@media(max-width:1000px){.review-grid{grid-template-columns:1fr}.topbar-label{font-size:10px;letter-spacing:.6px}}
@media(max-width:720px){.sidebar .brand{margin:0}.sidebar .course-label{margin:0}.section-links{display:flex;margin:15px 0 10px;gap:5px}.section-links button{font-size:12px;gap:9px;padding:7px 10px}.unit-label{display:none}select{margin:0;font-size:13px;padding:9px}.lesson-nav{margin-top:10px}.reward-grid{grid-template-columns:1fr}.reward-summary{padding:18px 8px;gap:8px}.reward-summary strong{font-size:26px}.reward-summary span{font-size:11px}.next-goal{grid-template-columns:1fr;padding:16px}.theme-preview{height:130px}.lab-ranges{gap:15px}.control-line{font-size:12px;gap:6px;flex-wrap:wrap}.range-ends{font-size:10px}.step-extra{display:none}.circuit-svg{min-height:170px}.readings{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.readings .reading-value{font-size:20px}.topbar-label{max-width:45%;font-size:9px}.formula{font-size:21px}.reward-card p{min-height:0}}
/* Keep the question, circuit, and formula card together when opening an experiment. */
.experiment-mode .topbar{height:52px}
.experiment-mode .content{padding-top:16px}
.experiment-mode .experiment-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}
.experiment-mode .experiment-intro h1{font-size:20px;line-height:1.3;letter-spacing:-.3px;margin:0}
.experiment-mode .experiment-intro .text-button{padding:4px 0;font-size:14px;white-space:nowrap}
.experiment-mode .steps{gap:20px;margin-bottom:12px}
.experiment-mode .step-tab{padding-bottom:8px;min-height:32px}
.experiment-mode .experiment-prompt{padding:12px 16px;margin-bottom:12px;scroll-margin-top:12px}
.experiment-mode .experiment-prompt .small-label{margin-bottom:4px}
.experiment-mode .experiment-prompt h2{font-size:18px;margin-bottom:8px;line-height:1.4}
.experiment-mode .prediction-options{gap:8px}
.experiment-mode .experiment-instruction{margin-top:8px;line-height:1.4}
.experiment-mode .circuit-toolbar{padding:8px 16px;min-height:40px}
.experiment-mode .diagram{min-height:180px;max-height:260px}
.experiment-mode .diagram-wrap{padding:4px 8px 0}
.experiment-mode .readings{padding:10px 0}
.experiment-mode .controls{padding:14px 16px;gap:14px}
.experiment-mode .lab-ranges{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px 20px}
.experiment-mode .sim-note{padding-top:10px}
@media(max-width:1000px){.experiment-mode .aside{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
  .experiment-mode .content{padding:12px 14px 20px}
  .experiment-mode .experiment-intro{align-items:flex-start;gap:10px}
  .experiment-mode .experiment-intro h1{font-size:18px}
  .experiment-mode .experiment-intro .text-button{font-size:13px;white-space:normal;max-width:126px;text-align:right}
  .experiment-mode .steps{gap:18px;margin-bottom:10px}
  .experiment-mode .experiment-prompt{padding:12px}
  .experiment-mode .experiment-prompt h2{font-size:17px}
  .experiment-mode .prediction{font-size:14px;padding:7px 10px}
  .experiment-mode .circuit-toolbar{padding:6px 12px}
  .experiment-mode .circuit-title{font-size:13px}
  .experiment-mode .diagram{min-height:170px;max-height:210px}
  .experiment-mode .diagram-wrap{padding:4px 0 0}
  .experiment-mode .aside{grid-template-columns:minmax(0,1fr)}
}
/* Home: a clear starting point and a compact overview of earned progress. */
.home-mode .topbar{height:56px}
.home-mode .content{padding-top:24px}
.home-mode .sidebar :is(.unit-label,.unit-picker,.lesson-nav){display:none}
.home-welcome{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:28px;padding:24px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;margin-bottom:20px}
.home-welcome h1{font-size:30px;line-height:1.25;margin:0 0 10px;letter-spacing:-.7px}
.home-welcome-copy>p{font-size:16px;line-height:1.6;color:var(--muted);margin:0 0 16px}
.home-start{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.home-start>span{font-size:14px;line-height:1.5;color:var(--muted);max-width:245px}
.home-guide,.home-goal{border-left:1px solid var(--line);padding-left:24px;align-self:center}
.home-guide h2{font-size:17px;margin:0 0 14px}
.home-guide ol{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.home-guide li{display:flex;align-items:flex-start;gap:11px}
.home-guide li>span{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--soft);color:var(--blue);font-size:14px;font-weight:750}
.home-guide strong{display:block;font-size:15px;line-height:1.4}
.home-guide p{font-size:14px;line-height:1.5;color:var(--muted);margin:3px 0 0}
.home-goal{border-left:0;background:var(--soft);padding:18px 20px;border-radius:12px}
.home-goal h2{font-size:21px;margin:0 0 7px}
.home-goal p{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 5px}
.home-goal .text-button{color:var(--blue-dark);font-weight:650}
.home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);padding:16px 0;margin-bottom:24px}
.home-stats>div{display:grid;gap:3px;text-align:center;border-right:1px solid var(--line);min-width:0;padding:0 10px}
.home-stats>div:last-child{border:0}
.home-stats .home-stat-value{font-size:30px;line-height:1.2;font-weight:750;color:var(--blue);font-variant-numeric:tabular-nums;letter-spacing:-.6px}
.home-stat-value small{font-size:17px;color:var(--muted);font-weight:500;letter-spacing:0}
.home-stats>div>span:last-child{font-size:14px;line-height:1.4;color:var(--muted)}
.home-topics-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.home-topics-heading h2{font-size:20px;margin:0}
.home-topics-heading>span{font-size:14px;color:var(--muted)}
.home-units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-unit{padding:17px 18px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#fff);min-width:0}
.home-unit-heading{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.home-unit-number{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:var(--soft);font-size:14px;font-weight:700;color:var(--blue)}
.home-unit h3{font-size:17px;line-height:1.3;margin:0;min-width:0}
.home-unit-count{margin-left:auto;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.home-unit>p{font-size:14px;line-height:1.5;color:var(--muted);min-height:42px;margin:0 0 12px}
.home-unit-track{height:6px;overflow:hidden;background:var(--line);border-radius:8px}
.home-unit-track>span{height:100%;display:block;background:var(--blue);border-radius:8px}
.home-unit-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px}
.home-unit-footer>span{font-size:14px;color:var(--muted);white-space:nowrap}
.home-unit-footer .text-button{font-size:14px;font-weight:650;color:var(--blue-dark);padding:8px 0;min-height:36px}
.home-unit-complete .home-unit-number{background:var(--green-soft);color:var(--green)}
.home-unit-complete .home-unit-track>span{background:var(--green)}
@media(max-width:1100px){.home-units{grid-template-columns:repeat(2,minmax(0,1fr))}.home-welcome{grid-template-columns:minmax(0,1fr);gap:20px}.home-guide{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.home-guide ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-guide li{flex-direction:column;gap:7px}.home-goal{padding:16px 18px}}
@media(max-width:720px){.section-links{flex-wrap:wrap}.section-links button{padding-inline:8px}.home-mode .content{padding:20px 14px}.home-welcome{padding:20px;gap:18px}.home-welcome h1{font-size:27px}.home-start{align-items:flex-start;flex-direction:column;gap:10px}.home-start>span{max-width:none}.home-guide h2{font-size:16px}.home-guide ol{grid-template-columns:1fr;gap:12px}.home-guide li{flex-direction:row;gap:10px}.home-guide strong{font-size:15px}.home-stats{padding:15px 0;margin-bottom:22px}.home-stats>div{padding:0 7px}.home-stats .home-stat-value{font-size:26px}.home-stat-value small{font-size:15px}.home-stats>div>span:last-child{font-size:14px;overflow-wrap:break-word}.home-topics-heading{gap:5px}.home-topics-heading h2{font-size:20px}.home-units{grid-template-columns:1fr;gap:12px}.home-unit>p{min-height:0}.home-unit{padding:17px 18px 12px}}
@media(max-width:720px){.home-mode .home-goal{display:none}}
.pet-card{border:1px solid var(--line);border-radius:16px;background:var(--surface,#fff);padding:22px 24px;margin:0 0 22px;overflow:hidden}
.pet-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.pet-heading .small-label{font-size:11px;margin:0 0 2px}
.pet-heading h2{font-size:24px;margin:0}
.pet-level{font-size:12px;font-weight:650;color:var(--blue-dark);background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:6px 11px;white-space:nowrap}
.pet-layout{display:grid;grid-template-columns:minmax(230px,310px) minmax(0,1fr);align-items:center;gap:24px}
.pet-home{min-width:0;text-align:center}
.pet-stage{width:100%;max-width:300px;aspect-ratio:1;position:relative;margin:-12px auto 0;isolation:isolate}
.pet-figure,.pet-egg-shell{position:absolute;inset:0;background-image:url('assets/jere-evolution.png');background-repeat:no-repeat;background-size:300% 200%;background-position:var(--pet-position);transform:scale(var(--pet-scale));transform-origin:50% 90%;z-index:1;pointer-events:none}
.pet-figure{clip-path:inset(0 0 7% 0)}
.pet-floor{position:absolute;left:25%;right:25%;top:88%;height:5%;background:radial-gradient(ellipse,var(--line),transparent 70%);z-index:0}
.pet-mood{font-size:13px;color:var(--muted);margin:0 0 6px;min-height:21px}
.pet-total{display:block;font-size:12px;font-weight:650;color:var(--blue-dark);margin-top:3px}
.pet-hatch-notice{display:grid;justify-items:center;gap:2px;padding:12px 16px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin:0 auto 22px;max-width:410px;font-size:14px;color:var(--blue-dark)}
.pet-hatch-notice .text-button{color:var(--blue-dark);font-weight:650}
.pet-care{padding:15px 0 6px;min-width:0}
.pet-care h3{font-size:20px;line-height:1.4;margin:0 0 10px;max-width:350px}
.pet-care>p{font-size:14px;color:var(--muted);line-height:1.65}
.pet-care .primary{white-space:normal;margin-top:4px}
.pet-xp-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.pet-xp-heading strong{font-size:14px;line-height:1.4}
.pet-xp-heading>span{font-size:14px;font-weight:750;color:var(--blue-dark);white-space:nowrap}
.pet-xp-track{height:9px;overflow:hidden;background:var(--line);border-radius:10px}
.pet-xp-track>span{display:block;height:100%;background:var(--blue);border-radius:10px;transition:width .35s}
.pet-care .pet-help{margin:10px 0 18px;font-size:13px;line-height:1.55}
.pet-stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 0 20px}
.pet-stages>span{display:grid;justify-items:center;gap:5px;color:var(--muted);position:relative;text-align:center}
.pet-stages>span:not(:last-child):after{content:'';height:2px;background:var(--line);position:absolute;left:calc(50% + 17px);right:calc(-50% + 17px);top:14px}
.pet-stages b{border:1px solid var(--line);width:29px;height:29px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:650;background:var(--page);z-index:1}
.pet-stages small{font-size:10px;line-height:1.3}
.pet-stages .done b{background:var(--green-soft);border-color:var(--green);color:var(--green)}
.pet-stages .current b{background:var(--blue);border-color:var(--blue);color:var(--surface,#fff);box-shadow:0 0 0 3px var(--soft)}
.pet-stages .current small{color:var(--blue-dark);font-weight:750}
.pet-menu-toggle{width:100%;display:flex;align-items:center;gap:9px;text-align:left;min-height:48px;padding:8px 12px}
.pet-menu-toggle svg{width:28px;height:28px;flex:none}
.pet-menu-toggle>span:last-child{margin-left:auto;font-size:20px;font-weight:400;color:var(--muted)}
.pet-menu-toggle b{display:inline-grid;place-items:center;background:var(--soft);color:var(--blue-dark);min-width:24px;height:24px;border-radius:7px;font-size:12px;margin-left:5px}
.pet-badge-menu{border:1px solid var(--line);border-radius:10px;margin-top:9px;padding:12px;background:var(--page)}
.pet-badge-menu[hidden]{display:none}
.pet-menu-instruction{font-size:12px;color:var(--muted);margin:0 0 10px;line-height:1.5}
.pet-badges{max-height:192px;overflow-y:auto;display:grid;gap:8px;padding:3px;scrollbar-width:thin;overscroll-behavior:contain}
.pet-badge{display:flex;align-items:center;gap:9px;text-align:left;background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.4;cursor:grab;touch-action:pan-y;user-select:none;min-height:48px}
.pet-badge:active{cursor:grabbing}
.pet-badge>.pet-badge-handle{flex:none;width:32px;height:32px;display:block;touch-action:none;pointer-events:auto;cursor:grab}
.pet-badge svg{width:32px;height:32px;flex:none;pointer-events:none}
.pet-badge>span{flex:1;pointer-events:none}
.pet-badge small{font-size:11px;color:var(--muted);white-space:nowrap;pointer-events:none}
.pet-badge:hover,.pet-badge.selected{border-color:var(--blue);background:var(--soft)}
.pet-badge.selected{box-shadow:inset 0 0 0 1px var(--blue)}
.pet-badge-note{font-size:11px;color:var(--muted);margin:11px 0 0;line-height:1.5}
.pet-empty{font-size:13px;padding:3px}
.pet-empty strong{display:block;margin-bottom:4px}
.pet-empty p{font-size:12px;color:var(--muted);margin:0}
.pet-empty .text-button{color:var(--blue-dark);padding-bottom:2px}
.pet-selection{font-size:12px!important;line-height:1.5!important;margin:9px 0 0;min-height:18px}
.pet-status{font-size:13px!important;font-weight:650;color:var(--blue-dark)!important;margin:8px 0 0!important}
.pet-status:empty{display:none}
.pet-mouth{position:absolute;left:var(--mouth-x);top:var(--mouth-y);transform:translate(-50%,-50%);width:54px;height:48px;border-radius:45%;border:2px dashed transparent;background:transparent;z-index:3;display:grid;place-items:center;transition:background .15s,border-color .15s;cursor:pointer}
.pet-mouth>span{opacity:0;position:absolute;right:-10px;top:-13px;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--soft);color:var(--blue-dark);font-size:16px;line-height:1;font-weight:750}
.pet-ready .pet-mouth,.pet-dragging .pet-mouth,.pet-mouth:focus-visible{border-color:var(--blue);background:color-mix(in srgb,var(--soft) 12%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--soft) 35%,transparent)}
.pet-ready .pet-mouth>span,.pet-dragging .pet-mouth>span,.pet-mouth:focus-visible>span{opacity:1}
.pet-over-mouth .pet-mouth{border-style:solid;border-color:var(--green);background:color-mix(in srgb,var(--green-soft) 12%,transparent);box-shadow:0 0 0 8px color-mix(in srgb,var(--green-soft) 70%,transparent)}
.pet-drag-ghost{position:fixed;width:52px;height:52px;transform:translate(-50%,-60%);z-index:1000;pointer-events:none;filter:drop-shadow(0 4px 5px #0003)}
.pet-drag-ghost svg{width:100%;height:100%}
.pet-xp-pop{position:absolute;left:50%;top:30%;transform:translateX(-50%);z-index:4;color:var(--blue-dark);background:var(--soft);padding:5px 11px;border-radius:15px;font-size:14px;font-weight:750;pointer-events:none;animation:jere-xp 1.4s both}
.pet-fed .pet-figure{animation:jere-bounce .65s ease}
.pet-evolved .pet-figure{animation:jere-evolve 1.2s ease}
.pet-egg-shell{--pet-position:0% 0%;--pet-scale:.78;z-index:5}
.pet-shell-left{clip-path:polygon(0 0,52% 0,47% 43%,53% 54%,48% 66%,53% 78%,50% 100%,0 100%);animation:jere-shell-left 1.1s .2s ease-in forwards}
.pet-shell-right{clip-path:polygon(52% 0,100% 0,100% 100%,50% 100%,53% 78%,48% 66%,53% 54%,47% 43%);animation:jere-shell-right 1.1s .2s ease-in forwards}
.is-hatching .pet-figure{animation:jere-hatch 1.4s both}
@keyframes jere-bounce{0%,100%{transform:scale(var(--pet-scale))}35%{transform:translateY(-14px) scale(calc(var(--pet-scale)*1.06))}65%{transform:scale(calc(var(--pet-scale)*.96),calc(var(--pet-scale)*1.04))}}
@keyframes jere-evolve{0%{opacity:.3;transform:scale(calc(var(--pet-scale)*.7));filter:brightness(2)}60%{opacity:1;transform:scale(calc(var(--pet-scale)*1.08));filter:brightness(1.3)}100%{transform:scale(var(--pet-scale));filter:brightness(1)}}
@keyframes jere-xp{0%{opacity:0;translate:0 8px}15%,70%{opacity:1}100%{opacity:0;translate:0 -28px}}
@keyframes jere-shell-left{0%{opacity:1;transform:scale(.78)}100%{opacity:0;transform:translate(-65px,35px) rotate(-28deg) scale(.6)}}
@keyframes jere-shell-right{0%{opacity:1;transform:scale(.78)}100%{opacity:0;transform:translate(65px,35px) rotate(28deg) scale(.6)}}
@keyframes jere-hatch{0%,25%{opacity:0;transform:scale(.15)}75%{opacity:1;transform:scale(calc(var(--pet-scale)*1.15))}100%{opacity:1;transform:scale(var(--pet-scale))}}
@media(max-width:1000px){.pet-card{padding:20px}.pet-layout{grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:18px}.pet-stage{max-width:250px}.pet-heading h2{font-size:23px}.pet-xp-heading{flex-wrap:wrap;gap:3px}.pet-stages small{font-size:9px}}
@media(max-width:820px){.pet-layout{grid-template-columns:minmax(0,1fr)}.pet-stage{max-width:255px;margin-top:-20px}.pet-mood{margin-top:-4px}.pet-care{padding-top:6px}.pet-xp-heading{flex-wrap:nowrap}.pet-stages small{font-size:11px}}
@media(max-width:720px){.pet-card{padding:18px;margin-bottom:20px}.pet-heading{gap:7px;align-items:flex-start}.pet-level{font-size:11px;padding:5px 8px}.pet-layout{gap:8px}.pet-stage{max-width:235px;margin-top:-24px}.pet-care h3{font-size:18px}.pet-care .primary{width:100%}.pet-xp-heading{font-size:13px;gap:8px;flex-wrap:wrap}.pet-xp-heading strong{font-size:13px}.pet-stages{margin-bottom:15px}.pet-stages small{font-size:10px}.pet-card .pet-mouth:focus-visible{outline-offset:6px}}
@media(prefers-reduced-motion:reduce){.pet-figure,.pet-xp-pop{animation:none!important}.pet-egg-shell{display:none}.pet-xp-track>span{transition:none}.pet-xp-pop{display:none}}
/* Comprehensive Learning Platform additions */
.due-banner{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:14px;background:var(--surface,#fff);padding:18px 20px;margin:0 0 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.due-banner h2{font-size:19px;margin:0 0 4px}
.due-banner p{font-size:14px;color:var(--muted);margin:0}
.due-actions{display:flex;gap:8px;flex-wrap:wrap}
.probe-panel{border-top:1px solid var(--line);padding:14px 20px;background:var(--soft)}
.probe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:6px}
.probe-item{background:var(--surface,#fff);border:1px solid var(--line);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:2px}
.probe-item span{font-size:12px;color:var(--muted)}
.probe-item strong{font-size:15px;color:var(--blue-dark);font-variant-numeric:tabular-nums}
.fading-example{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface,#fff)}
.fading-example h3{font-size:16px;margin:2px 0 8px}
.fading-row{font-size:15px;margin-bottom:10px;color:var(--ink)}
.fading-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fading-controls input{width:130px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;font-size:16px;font-weight:650;background:var(--page);color:var(--ink)}
.fading-feedback{margin:10px 0 0;padding:10px 12px;border-radius:8px;font-size:14px}
.fading-feedback.correct{background:var(--green-soft);color:var(--green)}
.fading-feedback.wrong{background:var(--orange-soft);color:var(--orange,#9f5209)}
.prereq-box p{font-size:13px;margin-bottom:8px}
.prereq-links{display:flex;flex-wrap:wrap;gap:6px}
.prereq-links .secondary{font-size:12px;padding:5px 10px}
.notes-box p{font-size:13px;margin-bottom:8px}
.note-textarea{width:100%;font:inherit;font-size:13px;line-height:1.5;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--page);color:var(--ink);resize:vertical}
.note-textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.step-guide-list{margin:6px 0 0;padding-left:20px;display:grid;gap:6px;line-height:1.5}
.ref-controls{display:flex;align-items:center; justify-content:space-between;gap:14px;flex-wrap:wrap;margin:20px 0}
.ref-search{flex:1;min-width:220px;border:1px solid var(--line);border-radius:9px;padding:10px 14px;font-size:15px;background:var(--surface,#fff);color:var(--ink)}
.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.formula-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--surface,#fff);display:flex;flex-direction:column;gap:8px}
.formula-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.formula-card h2{font-size:18px;margin:0}
.ref-formula{font-size:22px;font-weight:750;color:var(--blue-dark);margin:2px 0;letter-spacing:-.4px;overflow-wrap:anywhere}
.formula-card p{font-size:14px;color:var(--muted);margin:0}
.supplement-card{grid-column:1/-1}
.supplement-body{display:grid;gap:8px;margin-top:4px}
.supplement-body p{color:var(--ink);line-height:1.65}
.review-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 22px}
.review-unit-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.review-unit-header h2{font-size:19px;margin:0}
.backup-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:12px}
.import-label{display:inline-flex;align-items:center;cursor:pointer}
.frac{display:inline-grid;grid-template-rows:auto auto;vertical-align:middle;text-align:center;line-height:1.12;margin:0 .14em;font-size:.86em;font-weight:inherit}
.frac-num{padding:0 .2em .1em;border-bottom:1.7px solid currentColor;display:block}
.frac-sep{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.frac-den{padding:.1em .2em 0;display:block}
.formula,.ref-formula,.worked-example .equation{line-height:1.4}
.formula .frac,.ref-formula .frac,.worked-example .equation .frac{font-size:.82em;margin:0 .16em}
.formula .frac-num,.ref-formula .frac-num,.worked-example .equation .frac-num{border-bottom-width:2.1px;padding:0 .24em .13em}
.formula .frac-den,.ref-formula .frac-den,.worked-example .equation .frac-den{padding:.13em .24em 0}
.formula sub,.ref-formula sub,.worked-example .equation sub,.notation dt sub{font-size:.68em;line-height:0}
.circuit-manage-btn{border:0;outline:0;background:transparent;box-shadow:none;padding:4px 2px;font-size:13px;font-weight:600;color:var(--muted)}
.circuit-manage-btn:hover{color:var(--blue);background:transparent}
.circuit-manage-btn:focus,.circuit-manage-btn:focus-visible{outline:none;box-shadow:none}
@media(max-width:900px){.formula-grid{grid-template-columns:1fr}}
