:root{color-scheme:light;--bg:#f7f7f5;--ink:#101114;--muted:#6b6e73;--line:#dcdedb;--blue:#2457f5;--water:#30b6dc;--page:clamp(1rem,3vw,2.75rem);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg)}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
.exhibit{position:relative;width:100%;height:100%;height:100svh;overflow:hidden;background:radial-gradient(ellipse at 51% 49%,#fff 0,#fafbf9 48%,#f1f3f1 100%);isolation:isolate}
#world{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;outline:none}
#world.is-dragging{cursor:grabbing}#world:focus-visible{outline:2px solid #2457f5;outline-offset:-5px}
.title-hud{position:absolute;z-index:4;inset:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:5.2rem;padding:.9rem var(--page);border-bottom:1px solid #dcdedbaf;background:linear-gradient(#f7f7f5f2,#f7f7f5a8 72%,transparent);pointer-events:none}
.title-hud>*{pointer-events:auto}.wordmark{display:flex;align-items:center;gap:.52rem;width:max-content;font-size:.9rem;font-weight:680;letter-spacing:-.04em;text-decoration:none}.wordmark span{width:.42rem;height:.42rem;border-radius:50%;background:var(--blue);box-shadow:0 0 0 .2rem #2457f51a}.title-copy{text-align:center}.eyebrow{display:flex;justify-content:center;align-items:center;gap:.45rem;margin:0 0 .1rem;color:#777b80;font-size:.56rem;font-weight:680;letter-spacing:.12em;text-transform:uppercase}.eyebrow i{width:.35rem;height:.35rem;border-radius:50%;background:var(--blue)}h1{margin:0;font-size:clamp(1rem,1.8vw,1.38rem);font-weight:580;letter-spacing:-.055em}.title-copy h1 span{color:var(--blue);font-weight:400}.view-controls{display:flex;justify-self:end;align-items:center;gap:.32rem}.zoom-button{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid #d6d9d8;border-radius:50%;background:#ffffffd9;font-size:1rem;font-weight:550;line-height:1}.zoom-button:hover,.zoom-button:focus-visible{border-color:var(--blue);color:var(--blue)}.motion-button{padding:.55rem .85rem;border:1px solid #d6d9d8;border-radius:99px;background:#ffffffd9;font-size:.61rem;font-weight:680;letter-spacing:.06em;text-transform:uppercase;transition:color .2s,border-color .2s}.motion-button:hover,.motion-button:focus-visible{border-color:var(--blue);color:var(--blue)}
.lesson-hud,.control-hud{position:absolute;z-index:3;border:1px solid #dfe3e1;border-radius:1rem;background:#ffffffeb;box-shadow:0 10px 35px #1e303d0c;backdrop-filter:blur(16px)}.lesson-hud{left:var(--page);bottom:var(--page);width:min(370px,calc(100vw - 2 * var(--page)));padding:.85rem 1rem .75rem}.equation-strip{display:grid;grid-template-columns:5.5rem 1fr;align-items:baseline;gap:.1rem .5rem;padding:.25rem 0 .48rem;border-bottom:1px solid #edf0ee}.equation-strip:last-of-type{padding-top:.5rem}.rule-tag{grid-row:span 2;color:#85898c;font-size:.53rem;font-weight:680;letter-spacing:.09em}.equation-strip strong{font-size:.91rem;font-weight:670;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.equation-strip strong sub{font-size:.65em}.equation-strip>span:last-child{color:var(--blue);font-size:.68rem;font-weight:600;font-variant-numeric:tabular-nums}.current-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;margin-top:.62rem}.current-legend span{display:flex;flex-wrap:wrap;align-items:center;gap:.23rem;color:#6e7377;font-size:.59rem}.current-legend b{width:100%;padding-left:.85rem;color:var(--ink);font-size:.75rem;font-weight:660;font-variant-numeric:tabular-nums}.dot{display:inline-block;width:.42rem;height:.42rem;border-radius:50%;background:#2457f5}.dot.left{background:#40badc}.dot.right{background:#1d8dad}.rounding-note{margin:.55rem 0 0;color:#999da0;font-size:.53rem}
.control-hud{right:var(--page);bottom:var(--page);width:min(310px,calc(100vw - 2 * var(--page)));padding:.8rem 1rem .75rem}.control-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem;color:#85898c;font-size:.55rem;font-weight:680;letter-spacing:.1em;text-transform:uppercase}.control-heading button{padding:.24rem 0;border:0;background:none;color:#71767a;font-size:.61rem;font-weight:550;letter-spacing:0;text-transform:none}.control-heading button:hover,.control-heading button:focus-visible{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.slider-control{padding:.48rem 0 .42rem;border-bottom:1px solid #edf0ee}.slider-control.last-control{border-bottom:0;padding-bottom:.1rem}.slider-control label{display:flex;justify-content:space-between;align-items:center;gap:.4rem;font-size:.69rem;font-weight:590}.slider-control label sub{font-size:.68em}.slider-control output{flex:none;color:var(--blue);font-size:.7rem;font-weight:700;font-variant-numeric:tabular-nums}input[type=range]{display:block;width:100%;height:1rem;margin:.3rem 0 0;appearance:none;background:transparent;cursor:pointer;touch-action:pan-y}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:9px;background:linear-gradient(90deg,var(--blue) var(--range-fill,50%),#e4e8eb var(--range-fill,50%))}input[type=range]::-moz-range-track{height:3px;border-radius:9px;background:linear-gradient(90deg,var(--blue) var(--range-fill,50%),#e4e8eb var(--range-fill,50%))}input[type=range]::-webkit-slider-thumb{width:15px;height:15px;margin-top:-6px;appearance:none;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 1px 7px #182b3945}input[type=range]::-moz-range-thumb{width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 1px 7px #182b3945}input[type=range]:focus-visible{outline:2px solid #2457f5;outline-offset:5px;border-radius:4px}.range-ends{display:flex;justify-content:space-between;color:#a0a4a6;font-size:.49rem;font-variant-numeric:tabular-nums}.ohm-law{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin:.52rem 0 0;padding-top:.52rem;border-top:1px solid #edf0ee;color:#808589;font-size:.53rem}.ohm-law span{color:#3e5964;font-size:.58rem;font-weight:620;font-variant-numeric:tabular-nums}
@media(max-width:760px){.title-hud{min-height:4.5rem}.lesson-hud{left:.7rem;bottom:.7rem;width:min(300px,calc(100vw - 1.4rem));padding:.65rem .75rem}.control-hud{right:.7rem;bottom:.7rem;width:min(280px,calc(100vw - 1.4rem));padding:.65rem .8rem}.equation-strip{grid-template-columns:4.7rem 1fr}.equation-strip strong{font-size:.81rem}.equation-strip>span:last-child{font-size:.62rem}.current-legend{margin-top:.45rem}.current-legend span{font-size:.54rem}.current-legend b{font-size:.68rem}.rounding-note{margin-top:.4rem;font-size:.49rem}.slider-control{padding:.37rem 0 .3rem}.slider-control label{font-size:.63rem}.ohm-law{flex-wrap:wrap;justify-content:flex-start}.ohm-law span{margin-left:auto}}
@media(max-width:560px){.title-hud{grid-template-columns:auto 1fr auto;padding:.6rem .75rem;min-height:4rem}.wordmark{font-size:.8rem}.title-copy{padding:0 .3rem}.eyebrow{font-size:.46rem}h1{font-size:clamp(.82rem,4vw,1.05rem)}.view-controls{gap:.2rem}.zoom-button{width:1.65rem;height:1.65rem;font-size:.85rem}.motion-button{padding:.45rem .55rem;font-size:.53rem}.lesson-hud{left:.55rem;bottom:.55rem;width:calc(50vw - .7rem);padding:.55rem .6rem;border-radius:.8rem}.control-hud{right:.55rem;bottom:.55rem;width:calc(50vw - .7rem);padding:.55rem .6rem;border-radius:.8rem}.equation-strip{grid-template-columns:1fr;gap:.06rem;padding-bottom:.35rem}.rule-tag{grid-row:auto;font-size:.44rem}.equation-strip strong{font-size:.73rem}.equation-strip>span:last-child{font-size:.53rem}.current-legend{grid-template-columns:1fr;gap:.12rem;margin-top:.35rem}.current-legend span{flex-wrap:nowrap;font-size:.5rem}.current-legend b{width:auto;margin-left:auto;padding:0;font-size:.6rem}.dot{width:.34rem;height:.34rem}.rounding-note{font-size:.43rem}.control-heading{font-size:.48rem}.control-heading button{font-size:.55rem}.slider-control{padding:.34rem 0 .25rem}.slider-control label{font-size:.54rem}.slider-control output{font-size:.57rem}input[type=range]{height:.85rem;margin-top:.22rem}.range-ends{font-size:.42rem}.ohm-law{display:grid;grid-template-columns:1fr auto;gap:.18rem;font-size:.45rem}.ohm-law span{font-size:.5rem}.exhibit{background:radial-gradient(ellipse at 50% 45%,#fff 0,#f8f9f7 72%,#f0f2f0 100%)}}
@media(max-width:380px){.lesson-hud{width:calc(49vw - .65rem);left:.4rem;bottom:.4rem}.control-hud{width:calc(51vw - .65rem);right:.4rem;bottom:.4rem}.equation-strip strong{font-size:.67rem}.equation-strip>span:last-child{font-size:.48rem}.slider-control label{font-size:.5rem}.ohm-law{grid-template-columns:1fr}}
@media(min-width:761px) and (max-width:1200px){.lesson-hud{width:320px;padding:.7rem .8rem}.control-hud{width:280px;padding:.65rem .8rem}.title-hud{min-height:4.7rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
.model-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}.model-label{position:absolute;left:0;top:0;display:block;white-space:nowrap;border:1px solid #dbe4e4;border-radius:99px;background:#fffffff0;padding:5px 9px;color:#3b555f;font-size:10px;font-weight:600;box-shadow:0 3px 12px #173a4b0b}.model-label[hidden]{display:none}.height-label{color:#2457f5}.node-label{font-size:10px}.render-error{position:absolute;top:30%;left:10%;width:80%;text-align:center;color:#52666b}.preview-mode .title-hud,.preview-mode .lesson-hud,.preview-mode .control-hud{display:none}.preview-mode .model-label{font-size:13px;padding:6px 10px}.lesson-hud,.control-hud{backdrop-filter:none}@media(max-width:560px){.model-label{font-size:8px;padding:3px 6px}.node-label{font-size:8px}}@media(pointer:coarse){input[type=range]{min-height:28px}.zoom-button{min-width:36px;min-height:36px}}
