:root{--surface-app:#171816;--surface-panel:#20211f;--surface-raised:#292a27;--surface-canvas:#f6f7f2;--text-on-dark:#eceee8;--text-muted:#9a9d95;--text-on-canvas:#181917;--border-default:#3b3d38;--accent-control:#ef6548;--accent-measure:#2659a8;--accent-force:#e85d42;--accent-velocity:#12766d;--focus-ring:#8eb3ff;--warning:#d18a32;--danger:#e05a4f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--surface-app);color:var(--text-on-dark);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}button,input,select,textarea{font:inherit;letter-spacing:0}button,select,input[type=range]{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.38}a{color:inherit;text-decoration:none}.catalog-shell{color:#22231f;background:#eef0ea;min-height:100dvh}.catalog-topbar{z-index:10;height:56px;color:var(--text-on-dark);background:#1e1f1d;border-bottom:1px solid #343632;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:0 22px;display:grid;position:sticky;top:0}.catalog-brand{justify-self:start;align-items:center;gap:10px;display:inline-flex}.catalog-brand strong{font-size:14px;font-weight:660}.catalog-nav{align-items:center;height:100%;display:flex}.catalog-nav span{color:#c9cbc5;align-items:center;gap:7px;height:100%;padding:0 14px;font-size:12px;display:inline-flex}.catalog-nav .active{box-shadow:inset 0 -2px var(--accent-control)}.catalog-topbar .locale-button{justify-self:end}.catalog-layout{grid-template-columns:220px minmax(0,1fr);width:min(1440px,100%);min-height:calc(100dvh - 56px);margin:0 auto;display:grid}.catalog-sidebar{background:#e8eae4;border-right:1px solid #d2d5cc;padding:34px 20px}.catalog-filter-group+.catalog-filter-group{border-top:1px solid #d0d3cb;margin-top:28px;padding-top:25px}.catalog-filter-label{color:#777b72;text-transform:uppercase;margin:0 8px 9px;font-size:10px;font-weight:750;display:block}.catalog-filter-group button{color:#555950;text-align:left;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;width:100%;height:36px;padding:0 9px;font-size:12px;display:flex}.catalog-filter-group button:hover{color:#20211e;background:#dde0d8}.catalog-filter-group button.active{color:#20211e;box-shadow:inset 3px 0 var(--accent-control);background:#d8dbd3;font-weight:650}.catalog-filter-group button span{color:#858980;font-variant-numeric:tabular-nums;border:1px solid #c4c7be;border-radius:4px;place-items:center;min-width:21px;height:20px;font-size:9px;display:inline-grid}.catalog-content{min-width:0;padding:42px clamp(24px,4vw,58px) 70px}.catalog-heading{border-bottom:1px solid #c9ccc3;justify-content:space-between;align-items:flex-end;gap:36px;padding-bottom:29px;display:flex}.catalog-kicker{color:#3b645f;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:13px;font-size:11px;font-weight:750;display:inline-flex}.catalog-heading h1{color:#191a17;margin:0;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:600;line-height:1.08}.catalog-heading p{color:#666a61;margin:10px 0 0;font-size:14px;line-height:21px}.catalog-search{color:#7f8379;background:#f6f7f2;border:1px solid #bfc2b9;border-radius:6px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;width:min(310px,100%);height:38px;padding:0 11px;display:grid}.catalog-search:focus-within{border-color:var(--focus-ring);outline:1px solid var(--focus-ring)}.catalog-search input{color:#23241f;background:0 0;border:0;outline:0;width:100%;font-size:12px}.catalog-search input::placeholder{color:#94988e}.catalog-result-meta{color:#7a7e75;justify-content:space-between;align-items:center;padding:13px 0 5px;font-size:10px;display:flex}.catalog-grade-section{padding-top:31px}.catalog-grade-heading{align-items:center;gap:9px;margin-bottom:13px;display:flex}.catalog-grade-heading h2{color:#2b2c28;margin:0;font-size:15px;font-weight:680}.catalog-grade-heading span{color:#5f635b;background:#daddd5;border-radius:4px;place-items:center;min-width:21px;height:20px;font-size:9px;display:inline-grid}.experiment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.experiment-card{background:#f6f7f2;border:1px solid #c6c9c0;border-radius:6px;min-width:0;overflow:hidden}.experiment-card.available{transition:border-color .15s,box-shadow .15s,transform .15s}.experiment-card.available:hover{border-color:#858a80;transform:translateY(-2px);box-shadow:0 9px 22px #1c1f1a1a}.experiment-card.available:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.experiment-card.unavailable{color:#696d65}.catalog-preview{background:#f7f8f4;border-bottom:1px solid #d1d4cb;height:210px;position:relative;overflow:hidden}.catalog-preview-image img{object-fit:contain;object-position:center}.preview-grid{opacity:.55;background-image:linear-gradient(#d5d8d0 1px,#0000 1px),linear-gradient(90deg,#d5d8d0 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.preview-line,.preview-object,.preview-accent{display:block;position:absolute}.preview-line{transform-origin:0;background:#20211e;height:3px}.preview-object{background:#f6f7f2;border:3px solid #20211e}.preview-accent{background:var(--accent-control)}.preview-incline .line-a{width:155px;top:91px;left:64px;transform:rotate(22deg)}.preview-incline .line-b{width:145px;top:91px;left:64px}.preview-incline .object-a{width:38px;height:28px;top:55px;left:91px;transform:rotate(22deg)}.preview-incline .preview-accent{width:3px;height:55px;top:30px;left:109px}.preview-lever .line-a{width:185px;top:74px;left:51px;transform:rotate(-5deg)}.preview-lever .object-a{width:24px;height:38px;top:31px;left:73px}.preview-lever .object-b{width:44px;height:24px;top:54px;right:63px}.preview-lever .preview-accent{border-right:16px solid #0000;border-bottom:34px solid var(--accent-measure);background:0 0;border-left:16px solid #0000;width:0;height:0;top:75px;left:calc(50% - 16px)}.preview-motion .line-a{width:192px;top:101px;left:47px}.preview-motion .object-a,.preview-motion .object-b{width:30px;height:24px;top:75px}.preview-motion .object-a{left:69px}.preview-motion .object-b{right:68px}.preview-motion .preview-accent{width:94px;height:3px;top:63px;left:105px}.preview-energy .line-a{width:162px;top:87px;left:62px;transform:rotate(19deg)}.preview-energy .object-a{border-radius:50%;width:31px;height:31px;top:47px;left:72px}.preview-energy .preview-accent{border:3px solid var(--accent-velocity);background:0 0;border-radius:50%;width:54px;height:54px;top:45px;right:58px}.preview-circuit .line-a{background:0 0;border:3px solid #20211e;width:166px;height:74px;top:33px;left:61px}.preview-circuit .object-a{background:#ebede7;width:22px;height:40px;top:49px;left:52px}.preview-circuit .object-b{border-radius:50%;width:35px;height:35px;top:50px;right:46px}.preview-circuit .preview-accent{width:46px;height:3px;top:50px;left:123px}.preview-projectile .line-a{border-top:3px solid var(--accent-measure);background:0 0;border-radius:50%;width:185px;height:86px;top:34px;left:51px;transform:rotate(-16deg)}.preview-projectile .line-b{width:185px;top:109px;left:51px}.preview-projectile .object-a{border-radius:50%;width:23px;height:23px;top:78px;left:58px}.preview-projectile .preview-accent{width:3px;height:48px;top:38px;left:71px}.preview-collision .line-a{width:198px;top:102px;left:45px}.preview-collision .object-a,.preview-collision .object-b{width:43px;height:35px;top:65px}.preview-collision .object-a{left:70px}.preview-collision .object-b{right:70px}.preview-collision .preview-accent{width:46px;height:3px;top:52px;left:calc(50% - 23px)}.preview-orbit .object-a{background:#2e605a;border:0;border-radius:50%;width:44px;height:44px;top:49px;left:calc(50% - 22px)}.preview-orbit .line-a,.preview-orbit .line-b{border:2px solid var(--accent-measure);background:0 0;border-radius:50%;width:184px;height:93px;top:25px;left:52px}.preview-orbit .line-b{transform:rotate(45deg)}.preview-orbit .preview-accent{border-radius:50%;width:13px;height:13px;top:65px;right:58px}.preview-waves .line-a,.preview-waves .line-b{border-top:3px solid var(--accent-measure);background:0 0;border-radius:50%;width:202px;height:40px;top:69px;left:45px;transform:rotate(9deg)}.preview-waves .line-b{top:34px;transform:rotate(-9deg)}.preview-waves .preview-accent{width:3px;height:82px;top:30px;left:145px}.experiment-card-body{flex-direction:column;min-height:205px;padding:14px 15px 13px;display:flex}.experiment-card-status{color:#777b72;justify-content:space-between;align-items:flex-start;gap:8px;min-height:20px;font-size:9px;display:flex}.experiment-card-status>span{align-items:center;gap:4px;display:inline-flex}.availability{border-radius:4px;min-height:20px;padding:0 6px;font-weight:700}.availability.free{color:#215f58;background:#dce8e4}.availability.pack{color:#8a4d35;background:#f0dfd7}.availability.planned{color:#656961;background:#e1e3dd}.experiment-card h3{color:#242520;margin:10px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:600;line-height:24px}.experiment-card p{color:#6a6e65;min-height:36px;margin:0;font-size:11px;line-height:17px}.concept-list{flex-wrap:wrap;gap:5px;margin-top:12px;display:flex}.concept-list span{color:#696d64;border:1px solid #d0d3ca;border-radius:3px;padding:3px 5px;font-size:8px}.experiment-card-action{color:#54584f;border-top:1px solid #d8dad3;align-items:center;gap:6px;min-height:30px;margin-top:auto;padding-top:12px;font-size:10px;font-weight:650;display:flex}.experiment-card.available .experiment-card-action{color:#9b432f}.experiment-card-action svg:last-child{margin-left:auto}.catalog-empty{color:#6d7168;align-content:center;place-items:center;gap:9px;min-height:280px;display:grid}.catalog-empty strong{font-size:13px}.catalog-empty button{color:#454841;background:#f6f7f2;border:1px solid #bbbeb5;border-radius:5px;height:32px;padding:0 12px;font-size:11px}@media (max-width:1040px){.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.catalog-topbar{grid-template-columns:minmax(0,1fr) auto;padding:0 14px}.catalog-nav{display:none}.catalog-layout{display:block}.catalog-sidebar{border-bottom:1px solid #d2d5cc;border-right:0;gap:16px;padding:14px;display:flex;overflow-x:auto}.catalog-filter-group{align-items:center;gap:4px;min-width:max-content;display:flex}.catalog-filter-group+.catalog-filter-group{border-top:0;border-left:1px solid #d0d3cb;margin:0;padding:0 0 0 16px}.catalog-filter-label{margin:0 4px 0 0}.catalog-filter-group button{gap:7px;width:auto;height:32px}.catalog-filter-group button.active{box-shadow:inset 0 -2px var(--accent-control)}.catalog-content{padding:30px 16px 50px}.catalog-heading{gap:21px;display:grid}.catalog-heading h1{font-size:32px}.catalog-search{width:100%}}@media (max-width:520px){.catalog-brand strong{font-size:13px}.catalog-result-meta span:last-child{display:none}.experiment-grid{grid-template-columns:1fr}.catalog-preview{height:154px}}.workbench-shell{background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;grid-template-rows:48px minmax(0,1fr) 68px;height:100dvh;min-height:100dvh;display:grid;overflow:hidden}.topbar{z-index:5;border-bottom:1px solid var(--border-default);background:var(--surface-panel);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;height:48px;padding:0 12px;display:grid;position:relative}.project-identity,.topbar-actions,.playback-controls{align-items:center;display:flex}.project-identity{gap:9px;min-width:0}.brand-mark{color:#171816;background:#eceee8;border-radius:6px;flex:none;place-items:center;width:27px;height:27px;display:grid}.back-to-library{color:#bfc2ba;border:1px solid #0000;border-radius:5px;flex:none;place-items:center;width:28px;height:28px;display:grid}.back-to-library:hover{border-color:var(--border-default);background:var(--surface-raised)}.brand-name{white-space:nowrap;font-weight:650}.topbar-divider{background:var(--border-default);width:1px;height:18px}.project-name{color:#c9cbc5;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.save-state{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.mode-switch{border:1px solid var(--border-default);background:#181917;border-radius:6px;gap:2px;height:32px;padding:3px;display:flex}.mode-button{min-width:62px;color:var(--text-muted);background:0 0;border:0;border-radius:4px;padding:0 14px;font-size:13px}.mode-button.active{color:var(--text-on-dark);background:var(--surface-raised);box-shadow:inset 0 -2px var(--accent-control)}.topbar-actions{justify-content:flex-end;gap:5px}.icon-button,.play-button{color:#c8cac4;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;width:32px;height:32px;padding:0;display:inline-grid}.icon-button:hover:not(:disabled){border-color:var(--border-default);background:var(--surface-raised)}.icon-button svg,.play-button svg{stroke-width:1.8px;width:17px;height:17px}.workspace{grid-template-columns:minmax(0,1fr) 336px;min-height:0;display:grid}.stage-area{justify-content:center;align-items:center;min-width:0;min-height:0;padding:38px 40px 26px;display:flex;position:relative;overflow:hidden}.stage-meta{color:#858981;text-transform:uppercase;justify-content:space-between;font-size:11px;display:flex;position:absolute;top:13px;left:18px;right:18px}.stage-meta-actions{align-items:center;gap:8px;display:flex}.stage-area svg text{transform-box:fill-box;transform-origin:0;scale:var(--canvas-text-local-scale,var(--canvas-text-scale,1))}.stage-area svg text[text-anchor=middle]{transform-origin:50%}.stage-area svg text[text-anchor=end]{transform-origin:100%}.stage-area svg :is(.canvas-kicker,.canvas-eyebrow,.canvas-title,.canvas-subtitle,.canvas-footnote,.dc-assumptions,.dc-footnote,.dc-section-label,.track-height-label,.track-return-label,.ohms-status-pill,.ohms-section-heading,.ohms-section-note,.ohms-meter-formula,.wave-canvas-heading,.buoyancy-eyebrow,.buoyancy-title,.buoyancy-subtitle,.buoyancy-object-summary,.collision-eyebrow,.collision-title,.collision-subtitle,.collision-status,.collision-conserved-badge,.collision-panel-kicker,.collision-column-title,.collision-track-label,.collision-cart-label,.optics-canvas-heading,.optics-index-card,.optics-interface-label,.optics-medium-label,.optics-normal-label,.optics-panel-kicker,.optics-regime-label,.optics-brightness-note,.optics-construction-note,.lever-canvas-heading,.lever-release-card,.lever-panel-kicker,.lever-outcome-label,.lever-formula-note,.lever-construction-note,.sound-canvas-heading,.sound-mode-badge,.sound-panel-kicker,.sound-panel-note,.sound-tube-footnote,.power-canvas-heading,.power-panel-kicker,.power-panel-note,.power-channel-kicker,.power-axis-title,.power-direction-note,.narration-step-number,.narration-step-title,.narration-step-caption,.canvas-text-static){--canvas-text-local-scale:1}.stage-area svg :is(.dc-comparison,.dc-equation-card,.energy-force-guide,.energy-legend,.energy-equation-visual,.formula-block,.ohms-circuit,.ohms-graph,.ohms-equation-readout,.forces-threshold,.forces-motion-scene,.forces-equation,.forces-graphs,.wave-formula-panel,.buoyancy-formula-panel,.collision-formula-panel,.optics-formula-panel,.lever-load-value,.lever-forces,.lever-arm-layer,.lever-moment-layer,.lever-formula-panel,.sound-direction-labels,.sound-density-legend,.sound-wavefront-label,.sound-speaker,.sound-microphone,.sound-scope,.sound-formula-panel,.power-channel,.power-recorder,.power-formula-panel){--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.25)}.stage-area svg :is(.lever-beam-label,.lever-pivot-label,.lever-stop-label,.lever-load-kicker){--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.5)}.canvas-text-controls{color:#d4d7cf;pointer-events:auto;background:#20211f;border:1px solid #4b4e48;border-radius:5px;align-items:center;gap:1px;height:26px;padding:1px;display:inline-flex}.canvas-text-button{color:#d7dad2;background:0 0;border:0;border-radius:3px;place-items:center;width:26px;height:22px;padding:0;font-size:10px;font-weight:780;display:grid}.canvas-text-button:hover:not(:disabled){color:#fff;background:#3a3c37}.canvas-text-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.canvas-text-button:disabled{color:#666962}.canvas-text-value{color:#b8bcb3;font-variant-numeric:tabular-nums;text-align:center;width:35px;font-size:9px}.output-frame{aspect-ratio:9/16;background:var(--surface-canvas);border:1px solid #73776f;border-radius:2px;flex:0 auto;height:100%;max-height:680px;position:relative;overflow:hidden;box-shadow:0 18px 48px #00000057}.experiment-svg{width:100%;height:100%;display:block}.canvas-kicker,.measure-label,.formula-label,.canvas-footnote{fill:#6d7169;letter-spacing:0;font-size:17px;font-weight:650}.canvas-title{fill:var(--text-on-canvas);letter-spacing:0;font-size:38px;font-weight:700}.canvas-title-en{font-size:34px}.canvas-subtitle{fill:#676b63;font-size:20px}.motion-value{fill:var(--accent-velocity);font-size:32px;font-weight:700}.narration-step-number{fill:var(--accent-control);font-size:16px;font-weight:750}.narration-step-title{fill:var(--text-on-canvas);font-size:28px;font-weight:720}.narration-step-caption{fill:#5f635c;font-size:17px;font-weight:500}.force-vectors,.formula-block{transition:opacity .16s}.force-primary.focus-components,.force-primary.focus-equation,.force-primary.focus-setup,.force-primary.focus-result,.force-components.focus-forces,.force-components.focus-equation,.force-components.focus-setup,.force-components.focus-result,.formula-block.focus-forces,.formula-block.focus-components,.formula-block.focus-setup{opacity:.2}.formula-block.focus-result{opacity:.52}.angle-label,.force-label{paint-order:stroke;stroke:#f6f7f2;stroke-width:7px;stroke-linejoin:round}.angle-label{fill:var(--accent-measure);font-size:23px;font-weight:700}.force-label{fill:var(--accent-force);font-size:19px;font-weight:700}.component-label{paint-order:stroke;fill:var(--accent-measure);stroke:#f6f7f2;stroke-width:9px;stroke-linejoin:round;font-size:18px;font-weight:650}.block-label{fill:#181917;paint-order:stroke;stroke:#f6f7f2;stroke-width:3px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-style:italic;font-weight:700}.formula{fill:var(--text-on-canvas);font-family:Georgia,Times New Roman,serif;font-size:31px;font-style:italic}.formula-result{fill:var(--accent-measure);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.end-velocity-formula{fill:#5d625a;font-family:Georgia,Times New Roman,serif;font-size:20px;font-style:italic}.bottom-velocity-result{fill:var(--accent-velocity);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.energy-track-visual,.energy-budget-visual,.energy-equation-visual{transition:opacity .16s}.energy-force-guide-title,.energy-force-guide-note,.energy-force-guide-value,.energy-force-guide-copy,.energy-force-label{letter-spacing:0;paint-order:stroke;stroke:#f6f7f2;stroke-linejoin:round}.energy-force-guide-title{fill:#555a52;stroke-width:5px;font-size:14px;font-weight:800}.energy-force-guide-note{fill:#858981;stroke-width:4px;font-size:12px;font-weight:600}.energy-force-guide-rule{stroke:#c7cac2;stroke-width:1px}.energy-force-guide-value{stroke-width:5px;font-size:16px;font-weight:780}.energy-force-guide-copy{fill:#656a62;stroke-width:4px;font-size:13px;font-weight:600}.energy-force-friction-copy{fill:#83570f}.energy-force-arrow{fill:none;stroke-linecap:round;stroke-width:4px}.energy-force-arrow-weight{stroke:#e85d42}.energy-force-arrow-normal{stroke:#2659a8}.energy-force-arrow-friction{stroke:#b7791f}.energy-force-label{stroke-width:7px;font-size:19px;font-weight:800}.energy-force-weight{fill:#c8422d}.energy-force-normal{fill:#2659a8}.energy-force-friction{fill:#996314}.energy-force-origin{fill:#f6f7f2;stroke:#1b1d1a;stroke-width:3px}.track-height-label,.track-return-label{paint-order:stroke;stroke:#f6f7f2;stroke-width:8px;stroke-linejoin:round;font-size:16px;font-weight:700}.track-height-label{fill:#2b63ad}.track-return-label{fill:#9a681d}.energy-budget-heading,.energy-total-readout,.energy-prediction-label{fill:#6d7169;font-size:16px;font-weight:700}.energy-total-readout{fill:#147f75;font-variant-numeric:tabular-nums}.energy-legend-label{fill:#62665f;font-size:14px;font-weight:600}.energy-legend-value{fill:#292b27;font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.energy-conservation-equation{fill:var(--text-on-canvas);font-family:Georgia,Times New Roman,serif;font-size:30px;font-style:italic}.energy-prediction-result{fill:#147f75;font-variant-numeric:tabular-nums;font-size:24px;font-weight:720}.canvas-error{color:#842e28;background:#f6f7f2e0;place-items:center;font-weight:650;display:grid;position:absolute;inset:0}.parameter-panel{border-left:1px solid var(--border-default);background:var(--surface-panel);scrollbar-color:#4e504b transparent;scrollbar-width:thin;min-height:0;overflow-y:auto}.panel-heading{z-index:2;border-bottom:1px solid var(--border-default);background:var(--surface-panel);justify-content:space-between;align-items:center;height:66px;padding:10px 14px 9px 16px;display:flex;position:sticky;top:0}.panel-kicker{color:var(--accent-control);margin-bottom:2px;font-size:10px;font-weight:750;display:block}.panel-heading h1,.section-title h2{letter-spacing:0;margin:0}.panel-heading h1{font-size:15px;line-height:20px}.narration-panel-heading{height:66px}.narration-step-count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:10px}.narration-step-list{border-bottom:1px solid var(--border-default);padding:8px 10px}.narration-step-row{color:#d9dbd5;text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:30px minmax(0,1fr) 24px;align-items:center;gap:7px;width:100%;min-height:48px;padding:6px 8px;display:grid}.narration-step-row:hover{background:#262724}.narration-step-row.active{background:var(--surface-raised);box-shadow:inset 3px 0 var(--accent-control);border-color:#565952}.narration-step-index{color:#767a72;font-variant-numeric:tabular-nums;font-size:11px}.narration-step-row.active .narration-step-index{color:var(--accent-control)}.narration-step-summary{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.narration-step-summary strong{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:620;overflow:hidden}.narration-step-summary small{color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none;font-size:9px}.scene-mode{color:#858981;background:#1c1d1b;border-radius:4px;place-items:center;width:22px;height:22px;display:grid}.scene-mode.play{color:#73b9ae}.narration-editor{gap:14px;padding:16px;display:grid}.narration-editor>label,.narration-editor-row>label,.scene-behavior{gap:7px;display:grid}.narration-editor label>span,.scene-behavior>span{color:var(--text-muted);font-size:10px}.narration-editor input[type=text],.narration-editor textarea,.duration-field{width:100%;color:var(--text-on-dark);background:var(--surface-raised);border:1px solid #494b46;border-radius:6px}.narration-editor input[type=text]{height:34px;padding:0 9px}.narration-editor textarea{resize:vertical;min-height:74px;padding:8px 9px;line-height:18px}.narration-editor input[type=text]:focus,.narration-editor textarea:focus{border-color:var(--focus-ring);outline:1px solid var(--focus-ring)}.narration-editor-row{grid-template-columns:112px minmax(0,1fr);gap:12px;display:grid}.duration-field{grid-template-columns:minmax(0,1fr) 27px;align-items:center;height:34px;display:grid}.duration-field input{width:100%;min-width:0;height:32px;color:var(--text-on-dark);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0 0 0 9px}.duration-field span{color:var(--text-muted);font-size:10px}.scene-behavior strong{color:#bfc2ba;background:#242522;border:1px solid #3e403c;border-radius:6px;align-items:center;gap:7px;height:34px;padding:0 9px;font-size:11px;font-weight:550;display:flex}.restore-steps-button{color:#c9ccc4;background:0 0;border:1px solid #494b46;border-radius:6px;justify-content:center;align-items:center;gap:7px;height:34px;font-size:11px;display:inline-flex}.restore-steps-button:hover{background:var(--surface-raised)}.parameter-list{padding:2px 16px 8px}.parameter-control{border-bottom:1px solid #343632;padding:12px 0 11px}.parameter-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.parameter-row label{color:#d8dad4;font-size:13px}.number-field{background:var(--surface-raised);border:1px solid #494b46;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:126px;height:32px;display:grid}.number-field:focus-within{border-color:var(--focus-ring);box-shadow:0 0 0 1px var(--focus-ring)}.number-field input{width:100%;min-width:0;height:30px;color:var(--text-on-dark);font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0;padding:0 4px 0 9px}.number-field input[aria-invalid=true]{color:#ff9a8d}.number-field span{min-width:30px;color:var(--text-muted);text-align:right;white-space:nowrap;padding-right:8px;font-size:11px}.parameter-range,.timeline{appearance:none;background:0 0;height:18px;margin:0}.lesson-timeline-wrap{align-items:flex-end;height:40px;display:flex;position:relative}.lesson-segments{pointer-events:none;gap:2px;display:flex;position:absolute;inset:0 0 13px}.lesson-segments>span{color:#777b73;background:#262724;border:1px solid #454742;border-radius:3px 3px 0 0;align-items:center;min-width:20px;padding:0 6px;display:flex}.lesson-segments>span.active{color:#ffc0b1;background:#3b2b27;border-color:#785045}.lesson-segments small{font-variant-numeric:tabular-nums;font-size:8px}.lesson-timeline{z-index:1;width:100%;position:relative}.parameter-range{width:100%}.parameter-range::-webkit-slider-runnable-track{background:#51534e;border-radius:2px;height:3px}.timeline::-webkit-slider-runnable-track{background:#51534e;border-radius:2px;height:3px}.parameter-range::-webkit-slider-thumb{appearance:none;background:var(--accent-control);border:2px solid #1f201e;border-radius:50%;width:13px;height:13px;margin-top:-5px;box-shadow:0 0 0 1px #ef816b}.timeline::-webkit-slider-thumb{appearance:none;background:var(--accent-control);border:2px solid #1f201e;border-radius:50%;width:13px;height:13px;margin-top:-5px;box-shadow:0 0 0 1px #ef816b}.field-error{color:#ff9185;margin:3px 0 0;font-size:11px;line-height:16px}.measurement-section,.science-section{border-top:1px solid var(--border-default);padding:14px 16px 16px}.section-title{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.section-title h2{font-size:13px}.section-title span{color:var(--accent-velocity);font-size:11px}.measurements{border-top:1px solid #3c3e39;border-left:1px solid #3c3e39;grid-template-columns:1fr 1fr;margin:0;display:grid}.measurements>div{border-bottom:1px solid #3c3e39;border-right:1px solid #3c3e39;min-width:0;padding:9px 10px}.measurements .end-velocity-measurement{background:#242824;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.measurements .end-velocity-measurement dd{color:#75c5b9;margin-top:0}.energy-measurements .energy-potential dd{color:#8db3ef}.energy-measurements .energy-kinetic dd{color:#ff9b87}.energy-measurements .energy-thermal dd{color:#e8b761}.energy-measurements .energy-total dd{color:#75c5b9}.measurements dt{color:var(--text-muted);font-size:10px}.measurement-symbol{color:#b9bdb5;font-family:Georgia,Times New Roman,serif;font-style:italic}.measurements dd{color:#f1f2ed;font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:16px;font-weight:650}.measurements small{color:var(--text-muted);margin-left:4px;font-size:9px;font-weight:400}.science-issue{border-top:1px solid #343632;grid-template-columns:18px minmax(0,1fr);gap:7px;padding:9px 0;display:grid}.science-issue:first-of-type{border-top:0}.science-issue svg{margin-top:1px}.science-issue.warning svg{color:var(--warning)}.science-issue.blocking svg{color:var(--danger)}.science-issue.assumption svg{color:#7f9dc9}.science-issue strong{color:#dfe1db;font-size:11px;font-weight:650;display:block}.science-issue p{color:var(--text-muted);margin:3px 0 0;font-size:10px;line-height:15px}.playback-bar{z-index:5;border-top:1px solid var(--border-default);background:var(--surface-panel);grid-template-columns:auto 112px minmax(120px,1fr) auto;align-items:center;gap:18px;height:68px;padding:0 18px;display:grid;position:relative}.playback-controls{gap:3px}.play-button{color:#171816;background:var(--accent-control);margin:0 3px}.play-button:hover:not(:disabled){background:#fb7559}.timecode{color:#e6e8e2;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.timecode small{color:var(--text-muted);font-size:11px}.timeline{width:100%}.speed-control{color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.speed-control select{color:#e5e7e1;background:var(--surface-raised);border:1px solid #494b46;border-radius:6px;width:66px;height:32px;padding:0 7px}@media (max-width:1100px){.brand-name,.save-state{display:none}.workspace{grid-template-columns:minmax(0,1fr) 300px}.stage-area{padding-left:22px;padding-right:22px}}@media (max-width:820px){.workbench-shell{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.topbar{order:0;grid-template-columns:minmax(0,1fr) auto;position:sticky;top:0}.topbar-actions .icon-button,.project-name,.topbar-divider{display:none}.mode-switch{grid-area:2/1/auto/-1;justify-self:stretch;margin:0 8px 8px}.mode-button{flex:1}.topbar{grid-template-rows:48px 40px;height:88px;padding:0 6px}.workspace{display:contents}.stage-area{order:1;height:min(72dvh,680px);min-height:520px;padding:39px 16px 18px}.output-frame{max-width:100%}.parameter-panel{border-top:1px solid var(--border-default);border-left:0;order:3;overflow:visible}.panel-heading{position:static}.parameter-list{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.narration-step-list{grid-template-columns:1fr 1fr;gap:4px;display:grid}.playback-bar{order:2;grid-template-columns:auto minmax(100px,1fr) auto;gap:9px;padding:0 10px;position:static}.timecode,.speed-control>span{display:none}}@media (max-width:540px){.stage-area{min-height:500px}.parameter-list,.narration-step-list{display:block}.narration-editor-row{grid-template-columns:1fr}.playback-bar{grid-template-columns:auto minmax(70px,1fr) 58px}.playback-controls .icon-button:first-child,.playback-controls .icon-button:nth-child(2){display:none}.speed-control select{width:58px}}.locale-button{border:1px solid var(--border-default);color:#cfd2ca;background:0 0;border-radius:6px;align-items:center;gap:6px;height:32px;padding:0 9px;font-size:11px;font-weight:650;display:inline-flex}.locale-button:hover{background:var(--surface-raised)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.forces-stage-area{isolation:isolate}.forces-stage-meta{z-index:4;pointer-events:none;align-items:center}.forces-canvas-toolbar{color:#cfd2ca;pointer-events:auto;background:#181917f0;border:1px solid #4b4e48;border-radius:6px;align-items:center;gap:3px;height:30px;padding:2px;display:flex;box-shadow:0 6px 18px #0000002e}.canvas-ratio-switch{border-right:1px solid #4b4e48;align-items:center;gap:2px;height:24px;padding-right:3px;display:flex}.canvas-ratio-switch button,.canvas-tool-button{color:#aeb2a9;background:0 0;border:0;border-radius:4px;place-items:center;height:24px;padding:0;display:inline-grid}.canvas-ratio-switch button{font-variant-numeric:tabular-nums;min-width:42px;padding:0 7px;font-size:10px;font-weight:720}.canvas-tool-button{width:26px}.canvas-tool-button svg{stroke-width:1.8px;width:15px;height:15px}.canvas-ratio-switch button:hover:not(:disabled),.canvas-tool-button:hover:not(:disabled){color:#f0f1ed;background:#393b36}.canvas-ratio-switch button.active,.canvas-tool-button.active{color:#fff;box-shadow:inset 0 -2px var(--accent-control);background:#3d403a}.canvas-ratio-switch button:focus-visible,.canvas-tool-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.canvas-tool-button:disabled{opacity:.34}.canvas-zoom-value{color:#d8dad4;font-variant-numeric:tabular-nums;text-align:center;width:38px;font-size:9px}.forces-canvas-transform{aspect-ratio:9/16;transform-origin:50%;outline:none;flex:0 auto;height:100%;max-height:680px;transition:transform .14s;position:relative}.forces-canvas-transform.is-landscape{aspect-ratio:16/9;width:100%;max-width:1200px;height:auto;max-height:100%}.forces-canvas-transform.can-pan{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.forces-canvas-transform.is-dragging{cursor:grabbing;transition:none}.forces-canvas-transform:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.forces-canvas-transform .forces-output-frame{width:100%;height:100%;max-height:none;aspect-ratio:inherit}.forces-output-frame.is-landscape{max-width:none}.forces-landscape-motion-value{font-size:24px}.forces-landscape-narration .narration-step-title{font-size:22px}.forces-landscape-narration .narration-step-caption{font-size:15px}.forces-motion-workbench:fullscreen{grid-template-rows:minmax(0,1fr) 68px;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.forces-motion-workbench:fullscreen .topbar,.forces-motion-workbench:fullscreen .parameter-panel{display:none}.forces-motion-workbench:fullscreen .workspace{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.forces-motion-workbench:fullscreen .forces-stage-area{order:initial;background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;width:100%;height:auto;min-height:0;padding:54px 32px 24px;display:flex}.forces-motion-workbench:fullscreen .forces-canvas-transform{max-height:calc(100vh - 146px)}.forces-motion-workbench:fullscreen .forces-canvas-transform.is-landscape{max-width:calc(177.778vh - 259.556px)}.forces-motion-workbench:fullscreen .forces-stage-meta{top:14px}.forces-motion-workbench:fullscreen .playback-bar{order:initial;height:68px;display:grid;position:relative}.forces-canvas-section{transition:opacity .16s}.forces-motion-value{font-size:27px}.forces-section-heading,.forces-section-note,.forces-held,.forces-breakaway,.forces-threshold-value,.forces-applied-value,.forces-ruler-number,.forces-force-label,.forces-force-readout,.forces-friction-guide,.forces-equation-result,.forces-acceleration-result,.forces-plot-axes,.forces-plot-legend,.forces-release-label{letter-spacing:0;paint-order:stroke;stroke:#f6f7f2;stroke-linejoin:round}.forces-section-heading{fill:#555a52;stroke-width:5px;font-size:15px;font-weight:800}.forces-section-note,.forces-release-label{fill:#777c73;stroke-width:4px;font-size:13px;font-weight:600}.forces-section-rule{stroke:#c7cac2;stroke-width:1px}.forces-held,.forces-breakaway{stroke-width:5px;font-size:14px;font-weight:800}.forces-held{fill:#2b63ad}.forces-breakaway{fill:#c8422d}.forces-threshold-line{stroke:#9b9f96;stroke-width:4px;stroke-linecap:round}.forces-threshold-tick{stroke:#747970;stroke-width:3px}.forces-threshold-marker{stroke:#b7791f;stroke-width:4px}.forces-threshold-value{fill:#8d5c12;stroke-width:6px;font-variant-numeric:tabular-nums;font-size:15px;font-weight:750}.forces-applied-dot{fill:#2b63ad;stroke:#f6f7f2;stroke-width:4px}.forces-applied-dot.breakaway{fill:#e85d42}.forces-applied-value{fill:#2d302b;stroke-width:6px;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.forces-ruler-number{fill:#71766d;stroke-width:4px;font-size:13px;font-weight:650}.forces-surface{stroke:#1b1d1a;stroke-width:8px;stroke-linecap:square}.forces-origin-mark{stroke:#a6aaa1;stroke-width:2px;stroke-dasharray:5 5}.forces-displacement-trail{stroke:#147f75;stroke-width:7px}.forces-origin-label,.forces-position-label{paint-order:stroke;stroke:#f6f7f2;stroke-width:6px;fill:#6b7068;font-variant-numeric:tabular-nums;font-size:14px;font-weight:650}.forces-position-label{fill:#147f75}.forces-block rect{fill:#f6f7f2;stroke:#1b1d1a;stroke-width:5px}.forces-block path{fill:none;stroke:#ef6548;stroke-width:6px;stroke-linecap:round}.forces-block text{fill:#1b1d1a;font-family:Georgia,Times New Roman,serif;font-size:22px;font-style:italic;font-weight:700}.forces-vector{fill:none;stroke-width:4px;stroke-linecap:round}.forces-vector-applied{stroke:#e85d42}.forces-vector-friction{stroke:#b7791f}.forces-vector-normal{stroke:#2659a8}.forces-vector-weight{stroke:#147f75}.forces-vector-origin{fill:#f6f7f2;stroke:#1b1d1a;stroke-width:3px}.forces-force-label{stroke-width:7px;font-size:19px;font-weight:800}.forces-label-applied{fill:#c8422d}.forces-label-friction{fill:#996314}.forces-label-normal{fill:#2659a8}.forces-label-weight{fill:#147f75}.forces-force-readout{stroke-width:5px;font-variant-numeric:tabular-nums;font-size:15px;font-weight:750}.forces-friction-guide{fill:#686d65;stroke-width:5px;font-size:13px;font-weight:650}.forces-equation-formula{fill:#20221f;font-family:Georgia,Times New Roman,serif;font-size:27px;font-style:italic}.forces-equation-result,.forces-acceleration-result{stroke-width:5px;font-variant-numeric:tabular-nums;font-size:17px;font-weight:750}.forces-equation-result{fill:#c8422d}.forces-acceleration-result{fill:#147f75}.forces-plot-axes{fill:#686d65;stroke-width:4px;font-variant-numeric:tabular-nums;font-size:12px;font-weight:650}.forces-plot-axes line{stroke:#989c93;stroke-width:1.5px}.forces-plot-axes .forces-plot-gridline{stroke:#d0d3cb;stroke-dasharray:4 5}.forces-series{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.forces-series-applied{stroke:#e85d42}.forces-series-friction{stroke:#b7791f}.forces-series-net{stroke:#2659a8;stroke-dasharray:7 5}.forces-series-velocity{stroke:#147f75;stroke-width:4px}.forces-plot-legend{fill:#62675f;stroke-width:4px;font-size:12px;font-weight:650}.forces-plot-legend line{stroke-width:3px}.forces-release-line{stroke:#8b8f87;stroke-width:2px;stroke-dasharray:5 5}.forces-live-dot{fill:#147f75;stroke:#f6f7f2;stroke-width:3px}.forces-measurements .forces-applied-measurement dd{color:#ff9b87}.forces-measurements .forces-friction-measurement dd{color:#e8b761}.forces-measurements .forces-net-measurement dd{color:#8db3ef}@media (max-width:540px){.forces-motion-workbench .stage-area{min-height:520px}.forces-motion-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.forces-stage-meta>span{display:none}.forces-stage-meta{justify-content:flex-end}.forces-canvas-toolbar{max-width:100%}.canvas-ratio-switch button{min-width:39px;padding:0 5px}.canvas-tool-button{width:25px}.canvas-zoom-value{width:34px}}.ohms-stage-area{isolation:isolate}.ohms-stage-meta{z-index:4;pointer-events:none;align-items:center}.ohms-canvas-toolbar{color:#cfd2ca;pointer-events:auto;background:#181917f0;border:1px solid #4b4e48;border-radius:6px;align-items:center;gap:3px;height:30px;padding:2px;display:flex;box-shadow:0 6px 18px #0000002e}.ohms-canvas-transform{aspect-ratio:9/16;transform-origin:50%;outline:none;flex:0 auto;height:100%;max-height:680px;transition:transform .14s;position:relative}.ohms-canvas-transform.is-landscape{aspect-ratio:16/9;width:100%;max-width:1200px;height:auto;max-height:100%}.ohms-canvas-transform.can-pan{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ohms-canvas-transform.is-dragging{cursor:grabbing;transition:none}.ohms-canvas-transform:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.ohms-canvas-transform .ohms-output-frame{width:100%;height:100%;max-height:none;aspect-ratio:inherit}.ohms-output-frame.is-landscape{max-width:none}.ohms-law-workbench:fullscreen{grid-template-rows:minmax(0,1fr) 68px;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.ohms-law-workbench:fullscreen .topbar,.ohms-law-workbench:fullscreen .parameter-panel{display:none}.ohms-law-workbench:fullscreen .workspace{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.ohms-law-workbench:fullscreen .ohms-stage-area{order:initial;background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;width:100%;height:auto;min-height:0;padding:54px 32px 24px;display:flex}.ohms-law-workbench:fullscreen .ohms-canvas-transform{max-height:calc(100vh - 146px)}.ohms-law-workbench:fullscreen .ohms-canvas-transform.is-landscape{max-width:calc(177.778vh - 259.556px)}.ohms-law-workbench:fullscreen .ohms-stage-meta{top:14px}.ohms-law-workbench:fullscreen .playback-bar{order:initial;height:68px;display:grid;position:relative}.ohms-section-heading,.ohms-section-note,.ohms-circuit-status,.ohms-component-label,.ohms-component-value,.ohms-component-note,.ohms-polarity,.ohms-no-current,.ohms-current-note,.ohms-meter-label,.ohms-meter-value,.ohms-axis-value,.ohms-axis-title,.ohms-operating-label,.ohms-equation-text,.ohms-equation-result,.ohms-status-pill{letter-spacing:0;paint-order:stroke;stroke:#f6f7f2;stroke-linejoin:round}.ohms-section-heading{fill:#555a52;stroke-width:5px;font-size:14px;font-weight:800}.ohms-section-note{fill:#777c73;stroke-width:4px;font-size:12px;font-weight:600}.ohms-status-pill{fill:#8f5a25;stroke-width:6px;font-size:12px;font-weight:800}.ohms-status-pill.closed{fill:#147f75}.ohms-circuit,.ohms-graph,.ohms-meter,.ohms-equation-readout{transition:opacity .16s}.ohms-circuit-boundary,.ohms-graph-boundary{fill:#f6f7f2c7;stroke:#c7cac2;stroke-width:1.5px}.ohms-wire{fill:none;stroke:#20221f;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.ohms-resistor{fill:none;stroke:#b65f2e;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round}.ohms-switch circle{fill:#f6f7f2;stroke:#20221f;stroke-width:4px}.ohms-switch line{stroke:#20221f;stroke-width:5px;stroke-linecap:round;transform-origin:0;transition:y2 .18s}.ohms-switch line.open{stroke:#b65f2e}.ohms-battery-positive{stroke:#2659a8;stroke-width:7px;stroke-linecap:square}.ohms-battery-negative{stroke:#20221f;stroke-width:5px;stroke-linecap:square}.ohms-component-label{fill:#555a52;stroke-width:5px;font-size:12px;font-weight:800}.ohms-component-value{fill:#20221f;stroke-width:6px;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.ohms-component-note,.ohms-current-note{fill:#777c73;stroke-width:4px;font-size:10px;font-weight:650}.ohms-polarity{fill:#333630;stroke-width:5px;font-size:19px;font-weight:850}.ohms-polarity.positive{fill:#2659a8}.ohms-circuit-status{fill:#956025;stroke-width:5px;font-size:11px;font-weight:800}.ohms-circuit-status.closed{fill:#147f75}.ohms-no-current{fill:#956025;stroke-width:5px;font-size:13px;font-weight:750}.ohms-current-marker{opacity:.34;transition:opacity 80ms linear}.ohms-current-marker path{fill:none;stroke:#147f75;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.ohms-current-marker.active{opacity:1}.ohms-current-marker.active path{stroke-width:5px}.ohms-meter rect,.ohms-equation-readout rect{fill:#f1f2ed;stroke:#c5c8bf;stroke-width:1.5px}.ohms-meter rect{border-radius:4px}.ohms-meter.blue rect{stroke:#7294c9}.ohms-meter.teal rect{stroke:#5eaaa2}.ohms-meter.copper rect{stroke:#c88a68}.ohms-meter.amber rect{stroke:#c8a15e}.ohms-meter-label{fill:#6b7068;stroke-width:4px;font-size:10px;font-weight:800}.ohms-meter-value{fill:#20221f;stroke-width:5px;font-variant-numeric:tabular-nums;font-size:21px;font-weight:800}.ohms-meter.blue .ohms-meter-value{fill:#2659a8}.ohms-meter.teal .ohms-meter-value{fill:#147f75}.ohms-meter.copper .ohms-meter-value{fill:#a84f26}.ohms-meter.amber .ohms-meter-value{fill:#996314}.ohms-graph-grid{stroke:#d3d6ce;stroke-width:1px;stroke-dasharray:3 5}.ohms-graph-axis{stroke:#777c73;stroke-width:1.6px}.ohms-axis-value,.ohms-axis-title{fill:#686d65;stroke-width:4px;font-variant-numeric:tabular-nums;font-size:11px;font-weight:650}.ohms-axis-title{fill:#434741;font-weight:800}.ohms-vi-line{fill:none;stroke:#2659a8;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.ohms-vi-line.muted{opacity:.35;stroke-dasharray:8 7}.ohms-point-guide{stroke:#8f948a;stroke-width:1.5px;stroke-dasharray:4 5}.ohms-operating-dot{fill:#147f75;stroke:#f6f7f2;stroke-width:4px}.ohms-operating-dot.open{fill:#b65f2e}.ohms-operating-label{fill:#147f75;stroke-width:5px;font-size:11px;font-weight:800}.ohms-equation-text{fill:#20221f;stroke-width:5px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-style:italic;font-weight:700}.ohms-equation-result{fill:#147f75;stroke-width:5px;font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.ohms-graph-formula,.ohms-meter-formula{fill:#147f75;paint-order:stroke;stroke:#f6f7f2;stroke-width:5px;font-family:Georgia,Times New Roman,serif;font-size:17px;font-style:italic;font-weight:700}.ohms-meter-formula{fill:#4e554e;font-family:Inter,ui-sans-serif,sans-serif;font-size:11px;font-style:normal;font-weight:750}.ohms-landscape-title{font-size:36px}.ohms-landscape-narration .narration-step-number{transform:translateY(-4px)}.ohms-landscape-narration .narration-step-title{font-size:18px;transform:translateY(-20px)}.ohms-landscape-narration .narration-step-caption{font-size:12px;transform:translate(350px,-52px)}.ohms-switch-parameter{padding-bottom:19px}.ohms-switch-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.ohms-switch-control{color:#d9dcd4;text-align:left;background:#292a27;border:1px solid #4a4c47;border-radius:6px;grid-template-columns:28px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%;height:40px;padding:0 10px 0 7px;font-size:12px;font-weight:680;display:grid}.ohms-switch-control:hover{background:#30312e;border-color:#646760}.ohms-switch-control.closed{border-color:#3f726c}.ohms-switch-icon{color:#c88a68;background:#353631;border-radius:4px;place-items:center;width:26px;height:26px;display:inline-grid}.ohms-switch-control.closed .ohms-switch-icon{color:#83c5bd}.ohms-switch-track{background:#1f201e;border:1px solid #565953;border-radius:9px;width:34px;height:18px;padding:2px;display:block}.ohms-switch-track span{background:#8c9087;border-radius:50%;width:12px;height:12px;transition:transform .15s,background-color .15s;display:block}.ohms-switch-control.closed .ohms-switch-track span{background:#61aaa2;transform:translate(16px)}.ohms-measurements .ohms-voltage-measurement dd{color:#8db3ef}.ohms-measurements .ohms-current-measurement dd{color:#75c2ba}.ohms-measurements .ohms-power-measurement dd{color:#e8b761}.ohms-measurements .ohms-switch-measurement dd{color:#d59a75;font-size:14px}@media (max-width:540px){.ohms-law-workbench .stage-area{min-height:520px}.ohms-law-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.ohms-stage-meta>span{display:none}.ohms-stage-meta{justify-content:flex-end}.ohms-canvas-toolbar{max-width:100%}}.dc-pack-badge{color:#e8c995;white-space:nowrap;background:#32291f;border:1px solid #765b3f;border-radius:4px;align-items:center;gap:4px;min-height:21px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.dc-stage-area{isolation:isolate}.dc-stage-meta{z-index:4;pointer-events:none;align-items:center}.dc-canvas-toolbar{color:#cfd2ca;pointer-events:auto;background:#181917f0;border:1px solid #4b4e48;border-radius:6px;align-items:center;gap:3px;height:30px;padding:2px;display:flex;box-shadow:0 6px 18px #0000002e}.dc-canvas-transform{aspect-ratio:9/16;transform-origin:50%;outline:none;flex:0 auto;height:100%;max-height:680px;transition:transform .14s;position:relative}.dc-canvas-transform.is-landscape{aspect-ratio:16/9;width:100%;max-width:1200px;height:auto;max-height:100%}.dc-canvas-transform.can-pan{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.dc-canvas-transform.is-dragging{cursor:grabbing;transition:none}.dc-canvas-transform:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.dc-canvas-transform .dc-output-frame{width:100%;height:100%;max-height:none;aspect-ratio:inherit}.dc-output-frame.is-landscape{max-width:none}.dc-circuits-workbench:fullscreen{grid-template-rows:minmax(0,1fr) 68px;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.dc-circuits-workbench:fullscreen .topbar,.dc-circuits-workbench:fullscreen .parameter-panel{display:none}.dc-circuits-workbench:fullscreen .workspace{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.dc-circuits-workbench:fullscreen .dc-stage-area{order:initial;background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;width:100%;height:auto;min-height:0;padding:54px 32px 24px;display:flex}.dc-circuits-workbench:fullscreen .dc-canvas-transform{max-height:calc(100vh - 146px)}.dc-circuits-workbench:fullscreen .dc-canvas-transform.is-landscape{max-width:calc(177.778vh - 259.556px)}.dc-circuits-workbench:fullscreen .dc-stage-meta{top:14px}.dc-circuits-workbench:fullscreen .playback-bar{order:initial;height:68px;display:grid;position:relative}.dc-canvas-bg{fill:#f6f7f2}.dc-grid-line{fill:none;stroke:#dce0d7;stroke-width:1px}.dc-canvas-border{fill:none;stroke:#c9ccc3;stroke-width:1.4px;stroke-dasharray:7 7}.dc-landscape-title{font-size:36px}.dc-landscape-subtitle,.dc-portrait-subtitle{font-size:17px}.dc-portrait-title{font-size:34px}.dc-section-label,.dc-status,.dc-component-label,.dc-component-value,.dc-power-label,.dc-polarity,.dc-current-label,.dc-open-note,.dc-footnote,.dc-meter-label,.dc-meter-value,.dc-compare-name,.dc-compare-formula,.dc-equivalent-result,.dc-equation,.dc-equation-result,.dc-assumptions,.dc-invalid{letter-spacing:0;paint-order:stroke;stroke:#f6f7f2;stroke-linejoin:round}.dc-schematic-boundary,.dc-meter rect,.dc-comparison>rect,.dc-equation-card rect{fill:#f6f7f2d1;stroke:#c4c8bf;stroke-width:1.5px}.dc-section-label{fill:#555a52;stroke-width:5px;font-size:12px;font-weight:820}.dc-status{fill:#956025;stroke-width:5px;font-size:11px;font-weight:820}.dc-status.closed{fill:#147f75}.dc-wire{fill:none;stroke:#20221f;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.dc-resistor{fill:none;stroke:#b65f2e;stroke-width:6px;stroke-linecap:round;stroke-linejoin:round;transition:stroke-width .14s,stroke .14s}.dc-resistor-power{fill:none;stroke:#e5a451;stroke-width:18px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:opacity 90ms linear}.dc-resistor.selected{stroke:#2659a8;stroke-width:9px}.dc-source.selected .dc-battery-positive,.dc-source.selected .dc-battery-negative{stroke:#147f75}.dc-battery-positive{stroke:#2659a8;stroke-width:7px;stroke-linecap:square}.dc-battery-negative{stroke:#20221f;stroke-width:5px;stroke-linecap:square}.dc-switch circle{fill:#f6f7f2;stroke:#20221f;stroke-width:4px}.dc-switch line{stroke:#20221f;stroke-width:5px;stroke-linecap:round}.dc-switch line.open{stroke:#b65f2e}.dc-node{fill:#20221f}.dc-component-label{fill:#565b53;stroke-width:5px;font-size:11px;font-weight:800}.dc-component-value{fill:#20221f;stroke-width:6px;font-variant-numeric:tabular-nums;font-size:17px;font-weight:820}.dc-power-label{fill:#9a621f;stroke-width:5px;font-variant-numeric:tabular-nums;font-size:10px;font-weight:820}.dc-polarity{fill:#333630;stroke-width:5px;font-size:19px;font-weight:850}.dc-polarity.positive{fill:#2659a8}.dc-current-flow{fill:none;stroke:#19a99b;stroke-width:8px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 24;pointer-events:none}.dc-arrow-head{fill:#147f75}.dc-current-label{fill:#147f75;stroke-width:6px;font-variant-numeric:tabular-nums;font-size:12px;font-weight:820}.dc-open-note{fill:#956025;stroke-width:5px;font-size:12px;font-weight:750}.dc-footnote,.dc-assumptions{fill:#747970;stroke-width:4px;font-size:9px;font-weight:650}.dc-meter-value{fill:#20221f;stroke-width:5px;font-variant-numeric:tabular-nums;font-size:21px;font-weight:820}.dc-meter-value.voltage{fill:#2659a8}.dc-meter-value.current{fill:#147f75}.dc-meter-label{fill:#686d65;stroke-width:4px;font-size:10px;font-weight:800}.dc-comparison>g rect{fill:#eceee8;stroke:#d0d3ca;stroke-width:1px}.dc-comparison>g.active rect{fill:#e2ece8;stroke:#5d9b93;stroke-width:1.6px}.dc-compare-name,.dc-compare-formula{fill:#656a62;stroke-width:4px;font-weight:700}.dc-compare-name{font-size:12px}.dc-compare-formula{font-size:13px}.dc-comparison>g.active .dc-compare-name,.dc-comparison>g.active .dc-compare-formula{fill:#155f58;font-weight:820}.dc-comparison-divider,.dc-equation-divider{stroke:#cfd2ca;stroke-width:1px}.dc-compare-formula,.dc-equation{font-family:Georgia,Times New Roman,serif;font-style:italic}.dc-equivalent-result{fill:#147f75;stroke-width:5px;font-variant-numeric:tabular-nums;font-size:13px;font-weight:820}.dc-equation{fill:#20221f;stroke-width:5px;font-size:22px;font-weight:700}.dc-equation-card.compact .dc-equation{font-size:18px}.dc-equation-substitution{fill:#666b63;stroke:#f6f7f2;stroke-width:4px;paint-order:stroke;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.dc-equation-result{fill:#147f75;stroke-width:5px;font-variant-numeric:tabular-nums;font-size:19px;font-weight:820}.dc-invalid{fill:#a6503a;stroke-width:6px;font-size:18px;font-weight:800}.dc-narration .narration-step-title{font-size:19px}.dc-narration .narration-step-caption{font-size:11px}.dc-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.dc-topology-control,.dc-meter-targets{background:#20211f;border:1px solid #464943;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.dc-topology-control button,.dc-meter-targets button{color:#aeb2aa;background:0 0;border:1px solid #0000;border-radius:4px;min-width:0;height:31px;padding:0 4px;font-size:10px}.dc-topology-control button.active,.dc-meter-targets button.active{color:#e6efec;background:#2d4440;border-color:#657d78;box-shadow:inset 0 -2px #62aaa2}.dc-topology-control button:disabled,.dc-meter-targets button:disabled,.parameter-control.disabled{opacity:.46}.dc-switch-control{color:#d9dcd4;text-align:left;background:#292a27;border:1px solid #4a4c47;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%;height:40px;padding:0 10px;font-size:12px;font-weight:680;display:grid}.dc-switch-control:hover{background:#30312e;border-color:#646760}.dc-switch-control.closed{border-color:#3f726c}.dc-switch-track{background:#1f201e;border:1px solid #565953;border-radius:9px;width:34px;height:18px;padding:2px;display:block}.dc-switch-track span{background:#8c9087;border-radius:50%;width:12px;height:12px;transition:transform .15s,background-color .15s;display:block}.dc-switch-control.closed .dc-switch-track span{background:#61aaa2;transform:translate(16px)}.dc-measurements .dc-total-current dd{color:#75c2ba}.dc-measurements .dc-total-power dd{color:#e8b761}@media (max-width:1100px){.dc-pack-badge{display:none}}@media (max-width:540px){.dc-circuits-workbench .stage-area{min-height:520px}.dc-circuits-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.dc-stage-meta>span{display:none}.dc-stage-meta{justify-content:flex-end}.dc-canvas-toolbar{max-width:100%}}.wave-pack-badge{color:#a9d6d4;white-space:nowrap;background:#1d3030;border:1px solid #3f6d70;border-radius:4px;align-items:center;gap:4px;min-height:21px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.wave-stage-area{isolation:isolate}.wave-stage-meta{z-index:4;pointer-events:none;align-items:center}.wave-canvas-toolbar{color:#cfd2ca;pointer-events:auto;background:#181917f0;border:1px solid #4b4e48;border-radius:6px;align-items:center;gap:3px;height:30px;padding:2px;display:flex;box-shadow:0 6px 18px #0000002e}.wave-canvas-transform{aspect-ratio:9/16;transform-origin:50%;outline:none;flex:0 auto;height:100%;max-height:680px;transition:transform .14s;position:relative}.wave-canvas-transform.is-landscape{aspect-ratio:16/9;width:100%;max-width:1200px;height:auto;max-height:100%}.wave-canvas-transform.can-pan{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.wave-canvas-transform.is-dragging{cursor:grabbing;transition:none}.wave-canvas-transform:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.wave-canvas{border:1px solid #bbc5c5;width:100%;height:100%;display:block;overflow:hidden;box-shadow:0 22px 50px #091a1c26}.wave-canvas text{letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.wave-canvas .canvas-eyebrow{fill:#537073;font-size:12px;font-weight:800}.wave-canvas .canvas-title{fill:#172d30;font-size:34px;font-weight:780}.wave-canvas .canvas-subtitle{fill:#597073;font-size:14px;font-weight:520}.wave-medium-badge rect{fill:#e0ecec;stroke:#aac2c2}.wave-medium-badge text:first-of-type{fill:#426467;font-size:10px;font-weight:800}.wave-medium-badge text:last-of-type{fill:#183b3f;font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.wave-plot-surface{fill:#ffffffad;stroke:#cbd7d7}.wave-plot-label{fill:#263e41;font-size:12px;font-weight:850}.wave-plot-reading{fill:#526b6d;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.wave-grid-line{stroke:#d8e2e2;stroke-width:1px;stroke-dasharray:3 5}.wave-equilibrium{stroke:#809395;stroke-width:1.5px;stroke-dasharray:7 5}.wave-particle-guide{stroke:#b7c7c8;stroke-width:1px;stroke-dasharray:3 5}.wave-particle{stroke:#f8fbfc;stroke-width:2px}.wave-direction-line{stroke:#547376;stroke-width:2px}.wave-measure-line,.wave-measure-cap{stroke:#2b474a;stroke-width:1.6px}.wave-measure-cap.clipped{stroke-dasharray:3 3}.wave-measure-label{fill:#2c484b;paint-order:stroke;stroke:#f8fbfc;stroke-width:4px;font-variant-numeric:tabular-nums;font-size:10px;font-weight:800}.wave-direction-note{fill:#48676a;color:#0d7280}.wave-direction-note>svg{width:19px;height:19px;overflow:visible;transform:translate(-1px,-11px)}.wave-direction-note text{fill:#496467;font-size:10px;font-weight:800}.wave-direction-note line{stroke:#0d7280;stroke-width:2px}.wave-formula-panel rect{fill:#17383b;stroke:#325b5e}.wave-formula-panel.highlighted rect{fill:#0e5e67;stroke:#4d969d;stroke-width:3px}.wave-formula-kicker{fill:#9bc6c5;font-size:9px;font-weight:800}.wave-formula{fill:#f3f8f7;font-size:26px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.wave-formula-calculation{fill:#d1e2e1;font-variant-numeric:tabular-nums;font-size:15px;font-weight:750}.wave-formula-b{fill:#f1c3aa}.wave-narration-overlay .narration-step-title{fill:#172d30}.wave-narration-overlay .narration-step-caption{fill:#516a6d}.wave-toggle-parameter{padding-bottom:17px}.wave-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.wave-switch-control{color:#d9dcd4;text-align:left;background:#292a27;border:1px solid #4a4c47;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px 0 8px;font-size:12px;font-weight:680;display:grid}.wave-switch-control:hover{background:#30312e;border-color:#646760}.wave-switch-control.enabled{border-color:#3f726c}.wave-switch-control>svg{color:#747a72}.wave-switch-control.enabled>svg{color:#75bcb5}.wave-switch-track{background:#1f201e;border:1px solid #565953;border-radius:9px;width:34px;height:18px;padding:2px;display:block}.wave-switch-track span{background:#8c9087;border-radius:50%;width:12px;height:12px;transition:transform .15s,background-color .15s;display:block}.wave-switch-control.enabled .wave-switch-track span{background:#61aaa2;transform:translate(16px)}.wave-measurements .wave-measurement-heading{background:#203537;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:34px;padding:7px 9px;display:flex}.wave-measurements .wave-measurement-heading dt,.wave-measurements .wave-measurement-heading dd{color:#86cbc6}.wave-measurements .wave-b-heading{background:#382b25}.wave-measurements .wave-b-heading dt,.wave-measurements .wave-b-heading dd{color:#e1a27d}.wave-measurements .wave-measurement-heading dd{font-size:13px}.wave-measurements .wave-speed-measurement{grid-column:1/-1}.wave-measurements .wave-speed-measurement dd{color:#e8c176}.traveling-wave-workbench:fullscreen{grid-template-rows:minmax(0,1fr) 68px;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.traveling-wave-workbench:fullscreen .topbar,.traveling-wave-workbench:fullscreen .parameter-panel{display:none}.traveling-wave-workbench:fullscreen .workspace{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.traveling-wave-workbench:fullscreen .wave-stage-area{order:initial;background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;width:100%;height:auto;min-height:0;padding:54px 32px 24px;display:flex}.traveling-wave-workbench:fullscreen .wave-canvas-transform{max-height:calc(100vh - 146px)}.traveling-wave-workbench:fullscreen .wave-canvas-transform.is-landscape{max-width:calc(177.778vh - 259.556px)}.traveling-wave-workbench:fullscreen .wave-stage-meta{top:14px}.traveling-wave-workbench:fullscreen .playback-bar{order:initial;height:68px;display:grid;position:relative}@media (max-width:1100px){.wave-pack-badge{display:none}}@media (max-width:540px){.traveling-wave-workbench .stage-area{min-height:520px}.traveling-wave-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.wave-stage-meta>span{display:none}.wave-stage-meta{justify-content:flex-end}.wave-canvas-toolbar{max-width:100%}}@media (prefers-reduced-motion:reduce){.wave-canvas-transform,.wave-switch-track span{transition:none}}.buoyancy-pack-badge{color:#acd9d7;white-space:nowrap;background:#1c3031;border:1px solid #426f74;border-radius:4px;align-items:center;gap:4px;min-height:21px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.buoyancy-stage-area{isolation:isolate}.buoyancy-stage-meta{z-index:4;pointer-events:none;align-items:center}.buoyancy-canvas-toolbar{color:#cfd2ca;pointer-events:auto;background:#181917f0;border:1px solid #4b4e48;border-radius:6px;align-items:center;gap:3px;height:30px;padding:2px;display:flex;box-shadow:0 6px 18px #0000002e}.buoyancy-canvas-transform{aspect-ratio:9/16;transform-origin:50%;outline:none;flex:0 auto;height:100%;max-height:680px;transition:transform .14s;position:relative}.buoyancy-canvas-transform.is-landscape{aspect-ratio:16/9;width:100%;max-width:1200px;height:auto;max-height:100%}.buoyancy-canvas-transform.can-pan{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.buoyancy-canvas-transform.is-dragging{cursor:grabbing;transition:none}.buoyancy-canvas-transform:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.buoyancy-canvas{border:1px solid #bcc8c6;width:100%;height:100%;display:block;overflow:hidden;box-shadow:0 22px 50px #091e2026}.buoyancy-canvas text{letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.buoyancy-eyebrow{fill:#557277;font-size:11px;font-weight:800}.buoyancy-title{fill:#172f33;font-size:34px;font-weight:790}.buoyancy-subtitle{fill:#5b7376;font-size:13px;font-weight:540}.buoyancy-object-summary rect{fill:#e2eded;stroke:#abc3c3}.buoyancy-object-summary.highlighted rect{fill:#d1e8e7;stroke:#4f8f91;stroke-width:2.5px}.buoyancy-object-summary text{fill:#47686b;font-size:9px;font-weight:800}.buoyancy-object-summary .buoyancy-summary-value{fill:#173f43;font-variant-numeric:tabular-nums;font-size:17px}.buoyancy-object-summary .buoyancy-summary-small{fill:#587376;font-size:10px;font-weight:700}.buoyancy-tank-label{fill:#233e42;font-size:12px;font-weight:850}.buoyancy-outcome-badge text{fill:#fff;font-size:10px;font-weight:850}.buoyancy-outcome-badge.highlighted rect{stroke:#183b3f;stroke-width:3px}.buoyancy-tank-glass{fill:#ffffff73;stroke:#769398;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.buoyancy-fluid{opacity:.34}.buoyancy-surface{fill:none;stroke:#3c8995;stroke-width:2.2px}.buoyancy-equilibrium line{stroke:#4b777d;stroke-width:1.5px;stroke-dasharray:7 6}.buoyancy-equilibrium text{fill:#41676c;paint-order:stroke;stroke:#f6faf9;stroke-width:4px;font-size:9px;font-weight:800}.buoyancy-object{fill:#e9ad58;stroke:#8c5925;stroke-width:2.5px}.buoyancy-object-submerged{fill:#c57c35;opacity:.72}.buoyancy-object-submerged.highlighted{fill:#a96025;stroke:#723b16;stroke-width:4px;opacity:.9}.buoyancy-object-center{stroke:#6c431f;stroke-width:1.5px;stroke-dasharray:3 3}.buoyancy-object-density{fill:#543317;paint-order:stroke;stroke:#edbd78;stroke-width:4px;font-size:11px;font-weight:850}.buoyancy-displacement-readout text:first-child{fill:#4d6e72;font-size:8px;font-weight:800}.buoyancy-displacement-readout text:last-child{fill:#1b4d54;font-variant-numeric:tabular-nums;font-size:12px;font-weight:820}.buoyancy-fluid-density,.buoyancy-phase{fill:#345f65;font-variant-numeric:tabular-nums;font-size:9px;font-weight:800}.buoyancy-phase{fill:#294b50}.buoyancy-tank-density{fill:#4a696d;font-size:9px;font-weight:750}.buoyancy-force-arrow line{stroke-width:3.5px}.buoyancy-force-arrow text{paint-order:stroke;stroke:#f6faf9;stroke-width:4px;font-size:11px;font-weight:850}.buoyancy-forces.highlighted .buoyancy-force-arrow line{stroke-width:5px}.buoyancy-formula-panel rect{fill:#163c40;stroke:#315e62}.buoyancy-formula-panel.highlighted rect{fill:#0f5b64;stroke:#4d969d;stroke-width:3px}.buoyancy-formula-kicker{fill:#9bc9c7;font-size:9px;font-weight:850}.buoyancy-formula,.buoyancy-density-formula{fill:#f3f9f8;font-size:23px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.buoyancy-density-formula{fill:#d7e7e6;font-size:17px}.buoyancy-formula-result{fill:#b8deda;font-variant-numeric:tabular-nums;font-size:12px;font-weight:760}.buoyancy-formula-result.comparison{fill:#e1c690}.buoyancy-narration-overlay .narration-step-title{fill:#173033}.buoyancy-narration-overlay .narration-step-caption{fill:#526d70}.buoyancy-liquid-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:9px;display:grid}.buoyancy-liquid-presets button{color:#aeb2aa;background:#272825;border:1px solid #4b4e48;border-radius:4px;min-width:0;height:25px;padding:0 5px;font-size:9px;font-weight:700}.buoyancy-liquid-presets button:hover:not(:disabled){color:#e2e5dd;border-color:#6a6f67}.buoyancy-liquid-presets button.active{color:#9ed2ce;background:#203a3a;border-color:#4a8684}.buoyancy-toggle-parameter{padding-bottom:17px}.buoyancy-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.buoyancy-switch-control{color:#d9dcd4;text-align:left;background:#292a27;border:1px solid #4a4c47;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px 0 8px;font-size:12px;font-weight:680;display:grid}.buoyancy-switch-control:hover{background:#30312e;border-color:#646760}.buoyancy-switch-control.enabled{border-color:#3f726c}.buoyancy-switch-control>svg{color:#747a72}.buoyancy-switch-control.enabled>svg{color:#75bcb5}.buoyancy-switch-track{background:#1f201e;border:1px solid #565953;border-radius:9px;width:34px;height:18px;padding:2px;display:block}.buoyancy-switch-track span{background:#8c9087;border-radius:50%;width:12px;height:12px;transition:transform .15s,background-color .15s;display:block}.buoyancy-switch-control.enabled .buoyancy-switch-track span{background:#61aaa2;transform:translate(16px)}.buoyancy-measurements .buoyancy-measurement-heading{background:#203a3d;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:34px;padding:7px 9px;display:flex}.buoyancy-measurements .buoyancy-measurement-heading dt,.buoyancy-measurements .buoyancy-measurement-heading dd{color:#87cbc7}.buoyancy-measurements .buoyancy-measurement-heading.object{background:#3b3022}.buoyancy-measurements .buoyancy-measurement-heading.object dt,.buoyancy-measurements .buoyancy-measurement-heading.object dd{color:#e5bd7a}.buoyancy-measurements .buoyancy-measurement-heading.comparison{background:#2e3c2c}.buoyancy-measurements .buoyancy-measurement-heading.comparison dt,.buoyancy-measurements .buoyancy-measurement-heading.comparison dd{color:#b8d09c}.buoyancy-measurements .buoyancy-measurement-heading dd{font-size:13px}.buoyancy-workbench:fullscreen{grid-template-rows:minmax(0,1fr) 68px;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.buoyancy-workbench:fullscreen .topbar,.buoyancy-workbench:fullscreen .parameter-panel{display:none}.buoyancy-workbench:fullscreen .workspace{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.buoyancy-workbench:fullscreen .buoyancy-stage-area{order:initial;background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;width:100%;height:auto;min-height:0;padding:54px 32px 24px;display:flex}.buoyancy-workbench:fullscreen .buoyancy-canvas-transform{max-height:calc(100vh - 146px)}.buoyancy-workbench:fullscreen .buoyancy-canvas-transform.is-landscape{max-width:calc(177.778vh - 259.556px)}.buoyancy-workbench:fullscreen .buoyancy-stage-meta{top:14px}.buoyancy-workbench:fullscreen .playback-bar{order:initial;height:68px;display:grid;position:relative}@media (max-width:1100px){.buoyancy-pack-badge{display:none}}@media (max-width:540px){.buoyancy-workbench .stage-area{min-height:520px}.buoyancy-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.buoyancy-stage-meta>span{display:none}.buoyancy-stage-meta{justify-content:flex-end}.buoyancy-canvas-toolbar{max-width:100%}}@media (prefers-reduced-motion:reduce){.buoyancy-canvas-transform,.buoyancy-switch-track span{transition:none}}.collision-pack-badge{color:#a9d8d3;white-space:nowrap;background:#1d3030;border:1px solid #4a7271;border-radius:4px;align-items:center;gap:4px;min-height:21px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.collision-stage-area{isolation:isolate}.collision-stage-meta{z-index:4;pointer-events:none;align-items:center}.collision-canvas-toolbar{color:#cfd2ca;pointer-events:auto;background:#181917f0;border:1px solid #4b4e48;border-radius:6px;align-items:center;gap:3px;height:30px;padding:2px;display:flex;box-shadow:0 6px 18px #0000002e}.collision-canvas-transform{aspect-ratio:9/16;transform-origin:50%;outline:none;flex:0 auto;height:100%;max-height:680px;transition:transform .14s;position:relative}.collision-canvas-transform.is-landscape{aspect-ratio:16/9;width:100%;max-width:1200px;height:auto;max-height:100%}.collision-canvas-transform.can-pan{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.collision-canvas-transform.is-dragging{cursor:grabbing;transition:none}.collision-canvas-transform:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.collision-canvas{border:1px solid #bdc8c1;width:100%;height:100%;display:block;overflow:hidden;box-shadow:0 22px 50px #16252626}.collision-canvas text{letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.collision-eyebrow{fill:#55716e;font-size:11px;font-weight:800}.collision-title{fill:#192f31;font-size:34px;font-weight:790}.collision-subtitle{fill:#607370;font-size:13px;font-weight:540}.collision-status rect{fill:#263c42;stroke:#48636a}.collision-status circle{fill:#efb158}.collision-status text{fill:#f1f6f4;font-size:10px;font-weight:820}.collision-status .collision-status-phase{fill:#b9cbc8;font-size:9px;font-weight:680}.collision-track-scene{transition:opacity .15s}.collision-track-scene.highlighted .collision-track{stroke:#456a6d;stroke-width:7px}.collision-track{stroke:#6d7977;stroke-width:5px;stroke-linecap:round}.collision-track-tick{stroke:#8d9996;stroke-width:1.5px}.collision-track-label{fill:#667470;font-size:9px;font-weight:800}.collision-cart{filter:drop-shadow(0 7px 6px #25323126)}.collision-cart-window{fill:#f0f8f5c7;stroke:#12303042}.collision-cart-label{fill:#fff;font-size:9px;font-weight:820}.collision-wheel{fill:#273438;stroke:#f1f4f1;stroke-width:3px}.collision-velocity line{stroke-width:4px;stroke-linecap:round}.collision-velocity text{paint-order:stroke;stroke:#f6f9f5;stroke-width:5px;stroke-linejoin:round;font-size:11px;font-weight:820}.collision-velocity.zero text{fill:#66716e}.collision-impact circle:first-child{fill:#efb158;opacity:.18;stroke:#d2852f;stroke-width:3px}.collision-impact circle:nth-child(2){fill:#fff3d8;stroke:#d2852f;stroke-width:2px}.collision-impact text{fill:#8b541b;font-size:8px;font-weight:900}.collision-no-impact{fill:#a54634;paint-order:stroke;stroke:#f6f9f5;stroke-width:6px;font-size:12px;font-weight:850}.collision-ledger>rect{fill:#f8faf8;stroke:#b9c6c2}.collision-ledger.highlighted>rect{fill:#eef8f5;stroke:#4d8b86;stroke-width:3px}.collision-panel-kicker{fill:#4c6865;font-size:9px;font-weight:850}.collision-column-title{fill:#273f40;font-size:11px;font-weight:850}.collision-momentum-row>text:first-child{fill:#475b59;font-family:Georgia,Times New Roman,serif;font-size:12px;font-style:italic;font-weight:700}.collision-momentum-row>line:first-of-type{stroke:#d0d9d5;stroke-width:1.5px}.collision-momentum-row .collision-zero-axis{stroke:#879591;stroke-width:1.5px}.collision-momentum-value{fill:#293d3d;paint-order:stroke;stroke:#f8faf8;stroke-width:4px;font-variant-numeric:tabular-nums;font-size:8px;font-weight:760}.collision-conserved-badge{color:#287d70}.collision-conserved-badge text{fill:#287d70;font-size:9px;font-weight:820}.collision-formula-panel>rect{fill:#263c42;stroke:#48636a}.collision-formula-panel.highlighted>rect{fill:#214f50;stroke:#5ba29b;stroke-width:3px}.collision-formula-panel .collision-panel-kicker{fill:#a8c8c4}.collision-equation{fill:#f6faf8;font-size:26px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.collision-equation.secondary{fill:#cfdbd8;font-size:19px}.collision-formula-result{fill:#75d2c8;font-variant-numeric:tabular-nums;font-size:13px;font-weight:780}.collision-formula-result.cart-b{fill:#f1a27d}.collision-formula-panel line{stroke:#526970}.collision-energy-result{fill:#f0cc8e;font-variant-numeric:tabular-nums;font-size:9px;font-weight:720}.collision-narration-overlay .narration-step-title{fill:#193234}.collision-narration-overlay .narration-step-caption{fill:#526c69}.collision-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:9px;display:grid}.collision-presets button{color:#aeb2aa;background:#272825;border:1px solid #4b4e48;border-radius:4px;min-width:0;min-height:28px;padding:3px 4px;font-size:9px;font-weight:700;line-height:1.15}.collision-presets button:hover{color:#e2e5dd;border-color:#6a6f67}.collision-presets button.active{color:#a8d7d1;background:#203a39;border-color:#4d8882}.collision-toggle-parameter{padding-bottom:17px}.collision-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.collision-switch-control{color:#d9dcd4;text-align:left;background:#292a27;border:1px solid #4a4c47;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px 0 8px;font-size:12px;font-weight:680;display:grid}.collision-switch-control:hover{background:#30312e;border-color:#646760}.collision-switch-control.enabled{border-color:#42766f}.collision-switch-control>svg{color:#747a72}.collision-switch-control.enabled>svg{color:#75bcb5}.collision-switch-track{background:#1f201e;border:1px solid #565953;border-radius:9px;width:34px;height:18px;padding:2px;display:block}.collision-switch-track span{background:#8c9087;border-radius:50%;width:12px;height:12px;transition:transform .15s,background-color .15s;display:block}.collision-switch-control.enabled .collision-switch-track span{background:#61aaa2;transform:translate(16px)}.collision-measurements .collision-measurement-heading{grid-column:1/-1;justify-content:space-between;align-items:center;min-height:34px;padding:7px 9px;display:flex}.collision-measurements .collision-measurement-heading dt,.collision-measurements .collision-measurement-heading dd{color:inherit}.collision-measurements .collision-measurement-heading.system{color:#c3d8d4;background:#293d40}.collision-measurements .collision-measurement-heading.cart-a{color:#8ed8d0;background:#203b3b}.collision-measurements .collision-measurement-heading.cart-b{color:#efaa87;background:#402d27}.collision-measurements .collision-measurement-heading dd{font-size:12px}.collision-measurements .collision-energy-measurement{grid-column:1/-1}.collision-measurements .collision-energy-measurement dd{color:#e7bf7e}.momentum-collision-workbench:fullscreen{grid-template-rows:minmax(0,1fr) 68px;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.momentum-collision-workbench:fullscreen .topbar,.momentum-collision-workbench:fullscreen .parameter-panel{display:none}.momentum-collision-workbench:fullscreen .workspace{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.momentum-collision-workbench:fullscreen .collision-stage-area{order:initial;background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;width:100%;height:auto;min-height:0;padding:54px 32px 24px;display:flex}.momentum-collision-workbench:fullscreen .collision-canvas-transform{max-height:calc(100vh - 146px)}.momentum-collision-workbench:fullscreen .collision-canvas-transform.is-landscape{max-width:calc(177.778vh - 259.556px)}.momentum-collision-workbench:fullscreen .collision-stage-meta{top:14px}.momentum-collision-workbench:fullscreen .playback-bar{order:initial;height:68px;display:grid;position:relative}@media (max-width:1100px){.collision-pack-badge{display:none}}@media (max-width:540px){.momentum-collision-workbench .stage-area{min-height:520px}.momentum-collision-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.collision-stage-meta>span{display:none}.collision-stage-meta{justify-content:flex-end}.collision-canvas-toolbar{max-width:100%}}@media (prefers-reduced-motion:reduce){.collision-canvas-transform,.collision-switch-track span,.collision-track-scene{transition:none}}.optics-pack-badge{color:#b8d4d0;white-space:nowrap;background:#253634;border:1px solid #4f625f;border-radius:4px;align-items:center;gap:5px;height:22px;padding:0 7px;font-size:9px;font-weight:760;display:inline-flex}.optics-stage-area{isolation:isolate}.optics-stage-meta{z-index:4;pointer-events:none;align-items:center}.optics-canvas-toolbar{color:#cfd2ca;pointer-events:auto;background:#181917f0;border:1px solid #4b4e48;border-radius:6px;align-items:center;gap:3px;height:30px;padding:2px;display:flex;box-shadow:0 6px 18px #0000002e}.optics-canvas-transform{aspect-ratio:9/16;transform-origin:50%;outline:none;flex:0 auto;height:100%;max-height:680px;transition:transform .14s;position:relative}.optics-canvas-transform.is-landscape{aspect-ratio:16/9;width:100%;max-width:1200px;height:auto;max-height:100%}.optics-canvas-transform.can-pan{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.optics-canvas-transform.is-dragging{cursor:grabbing;transition:none}.optics-canvas-transform:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.optics-canvas{background:#f7f8f4;border:1px solid #bdc8c1;width:100%;height:100%;display:block;overflow:hidden;box-shadow:0 22px 50px #16252626}.optics-canvas text{letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.optics-eyebrow{fill:#55716e;font-size:11px;font-weight:820}.optics-title{fill:#192f31;font-size:32px;font-weight:790}.optics-subtitle{fill:#607370;font-size:12px;font-weight:540}.optics-index-card rect{fill:#263c42;stroke:#48636a}.optics-index-card text{fill:#e9f2ef;font-variant-numeric:tabular-nums;font-size:11px;font-weight:740}.optics-interface{stroke:#435a58;stroke-width:5px}.optics-medium-label{fill:#3f5d59;paint-order:stroke;stroke:#f7f8f4;stroke-width:5px;stroke-linejoin:round;font-size:10px;font-weight:820}.optics-interface-group .optics-medium-label:nth-of-type(2){stroke:#dcefed}.optics-interface-label,.optics-normal-label{fill:#667a77;font-size:9px;font-weight:810}.optics-incidence-point{fill:#fff;stroke:#253e3d;stroke-width:4px}.optics-normal{stroke:#708581;stroke-width:2px;stroke-dasharray:9 8}.optics-ray line{stroke-width:5px;stroke-linecap:round}.optics-ray text{paint-order:stroke;stroke-width:6px;stroke-linejoin:round;font-size:9px;font-weight:860}.optics-ray.incident line,.optics-angle-arc.incident{stroke:#d8892d}.optics-ray.incident text,.optics-angle-value.incident{fill:#a96420;stroke:#f7f8f4}.optics-ray.reflected line,.optics-angle-arc.reflected{stroke:#d85f45}.optics-ray.reflected text,.optics-angle-value.reflected{fill:#b34531;stroke:#f7f8f4}.optics-ray.refracted line,.optics-angle-arc.refracted{stroke:#168d8b}.optics-ray.refracted text,.optics-angle-value.refracted{fill:#087572;stroke:#dcefed}.optics-angle-arc{fill:none;stroke-width:2.5px}.optics-angle-value{paint-order:stroke;stroke-width:6px;stroke-linejoin:round;font-variant-numeric:tabular-nums;font-size:12px;font-style:italic;font-weight:760;font-family:Georgia,Times New Roman,serif!important}.optics-tir-badge{color:#a64634}.optics-tir-badge text{fill:#a64634;font-size:10px;font-weight:850}.optics-formula-panel>rect{fill:#263c42;stroke:#48636a;stroke-width:2px}.optics-formula-panel.regime-critical>rect,.optics-formula-panel.regime-total-internal-reflection>rect{fill:#324044;stroke:#d8892d}.optics-formula-panel>line{stroke:#526970;stroke-width:1.5px}.optics-panel-kicker,.optics-regime-label{fill:#a8c8c4;font-size:9px;font-weight:850}.optics-regime-label{fill:#efc381}.optics-equation{fill:#f6faf8;font-size:25px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.optics-substitution{fill:#bdceca;font-variant-numeric:tabular-nums;font-size:11px;font-weight:650}.optics-result{font-variant-numeric:tabular-nums;font-size:20px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.optics-result.reflection{fill:#f09a83}.optics-result.refraction{fill:#75d2c8}.optics-critical-label,.optics-critical-value{fill:#d4dfdc;font-variant-numeric:tabular-nums;font-size:10px;font-weight:780}.optics-bend-result{fill:#f0cc8e;font-size:12px;font-weight:760}.optics-brightness-note{fill:#9eb0ad;font-size:8px;font-weight:620}.optics-construction-note{fill:#617773;font-size:8px;font-weight:820}.optics-narration-overlay .narration-step-title{fill:#193234}.optics-narration-overlay .narration-step-caption{fill:#526c69}.optics-preset-parameter,.optics-toggle-parameter{padding-bottom:17px}.optics-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.optics-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.optics-presets button{color:#aeb2aa;background:#272825;border:1px solid #4b4e48;border-radius:4px;min-width:0;min-height:30px;padding:4px;font-size:9px;font-weight:700;line-height:1.15}.optics-presets button:hover{color:#e2e5dd;border-color:#6a6f67}.optics-presets button.active{color:#a8d7d1;background:#203a39;border-color:#4d8882}.optics-critical-preset{color:#dbc8a6;text-align:left;background:#302e27;border:1px solid #625b48;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:30px;margin-top:5px;padding:5px 8px;font-size:9px;font-weight:720;display:flex}.optics-critical-preset:hover,.optics-critical-preset.active{color:#f0cc8e;background:#40372b;border-color:#a88147}.optics-critical-preset span{font-variant-numeric:tabular-nums;flex:none}.optics-switch-control{color:#d9dcd4;text-align:left;background:#292a27;border:1px solid #4a4c47;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px 0 8px;font-size:12px;font-weight:680;display:grid}.optics-switch-control:hover{background:#30312e;border-color:#646760}.optics-switch-control.enabled{border-color:#42766f}.optics-switch-control>svg{color:#747a72}.optics-switch-control.enabled>svg{color:#75bcb5}.optics-switch-track{background:#1f201e;border:1px solid #565953;border-radius:9px;width:34px;height:18px;padding:2px;display:block}.optics-switch-track span{background:#8c9087;border-radius:50%;width:12px;height:12px;transition:transform .15s,background-color .15s;display:block}.optics-switch-control.enabled .optics-switch-track span{background:#61aaa2;transform:translate(16px)}.optics-measurements .optics-measurement-heading{color:#c3d8d4;background:#293d40;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:36px;padding:7px 9px;display:flex}.optics-measurements .optics-measurement-heading.regime-critical,.optics-measurements .optics-measurement-heading.regime-total-internal-reflection{color:#f0cc8e;background:#40372b}.optics-measurements .optics-measurement-heading dt,.optics-measurements .optics-measurement-heading dd{color:inherit}.optics-measurements .optics-measurement-heading dd{text-align:right;font-size:11px}.ray-optics-workbench:fullscreen{grid-template-rows:minmax(0,1fr) 68px;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.ray-optics-workbench:fullscreen .topbar,.ray-optics-workbench:fullscreen .parameter-panel{display:none}.ray-optics-workbench:fullscreen .workspace{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.ray-optics-workbench:fullscreen .optics-stage-area{order:initial;background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;width:100%;height:auto;min-height:0;padding:54px 32px 24px;display:flex}.ray-optics-workbench:fullscreen .optics-canvas-transform{max-height:calc(100vh - 146px)}.ray-optics-workbench:fullscreen .optics-canvas-transform.is-landscape{max-width:calc(177.778vh - 259.556px)}.ray-optics-workbench:fullscreen .optics-stage-meta{top:14px}.ray-optics-workbench:fullscreen .playback-bar{order:initial;height:68px;display:grid;position:relative}@media (max-width:1100px){.optics-pack-badge{display:none}}@media (max-width:540px){.ray-optics-workbench .stage-area{min-height:520px}.ray-optics-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.optics-stage-meta>span{display:none}.optics-stage-meta{justify-content:flex-end}.optics-canvas-toolbar{max-width:100%}}@media (prefers-reduced-motion:reduce){.optics-canvas-transform,.optics-switch-track span{transition:none}}.lever-pack-badge{color:#e3c18b;white-space:nowrap;background:#342f27;border:1px solid #6a5738;border-radius:4px;align-items:center;gap:5px;min-height:24px;padding:3px 8px;font-size:9px;font-weight:760;display:inline-flex}.lever-stage-area{touch-action:none;overflow:hidden;container-type:size}.lever-stage-meta{z-index:4;justify-content:space-between;align-items:center;gap:12px;display:flex;left:18px;right:18px}.lever-canvas-toolbar{background:#232421f0;border:1px solid #474a44;border-radius:6px;align-items:center;gap:4px;min-width:0;padding:3px;display:flex;box-shadow:0 8px 22px #0a0b0a2e}.lever-canvas-transform{transform-origin:50%;-webkit-user-select:none;user-select:none;background:#f7f8f4;border:1px solid #b9c9c5;border-radius:5px;outline:none;transition:transform .18s;overflow:hidden;box-shadow:0 18px 48px #14262321}.lever-canvas-transform.is-landscape{aspect-ratio:16/9;width:min(100cqw - 42px,177.778cqh - 138.667px,1120px);max-height:none}.lever-canvas-transform.is-portrait{aspect-ratio:9/16;width:min(100cqw - 42px,56.25cqh - 43.875px,430px);max-height:none}.lever-canvas-transform.can-pan{cursor:grab}.lever-canvas-transform.is-dragging{cursor:grabbing;transition:none}.lever-canvas-transform:focus-visible{box-shadow:0 0 0 2px #6eb9b1,0 18px 48px #14262321}.lever-canvas{width:100%;height:100%;display:block}.lever-canvas text{letter-spacing:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.lever-eyebrow{fill:#51706b;font-size:11px;font-weight:820}.lever-title{fill:#17312e;font-size:29px;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.lever-subtitle{fill:#607873;font-size:11px;font-weight:580}.lever-release-card rect{fill:#fffffce0;stroke:#b9cbc7;stroke-width:1.4px}.lever-release-card.phase-rotating rect,.lever-release-card.phase-left-stop rect{stroke:#d5a15e}.lever-release-card.phase-right-stop rect{stroke:#dc8c79}.lever-release-card.phase-balanced rect{stroke:#69aaa4}.lever-release-card .lever-release-heading{fill:#214f49;font-size:10px;font-weight:820}.lever-release-card .lever-release-status{fill:#214f49;font-size:13px;font-weight:880}.lever-release-card.phase-rotating .lever-release-status,.lever-release-card.phase-left-stop .lever-release-status{fill:#a56014}.lever-release-card.phase-right-stop .lever-release-status{fill:#b3422b}.lever-release-card.phase-balanced .lever-release-status{fill:#168d8b}.lever-release-card .lever-release-angle{fill:#17312e;font-variant-numeric:tabular-nums;font-size:12px;font-weight:850}.lever-release-card .lever-release-note{fill:#6a7b77;font-size:10px;font-weight:640}.lever-beam{stroke:#f9faf6;stroke-width:24px;stroke-linecap:square;filter:drop-shadow(0 4px 2px #21383333)}.lever-beam-tick{stroke:#314641;stroke-width:1.5px}.lever-beam-label{fill:#4c625d;font-size:11px;font-weight:820}.lever-pivot-label{fill:#f3f8f5;font-size:11px;font-weight:860}.lever-pivot{fill:#203e3a;stroke:#142c29;stroke-width:2px}.lever-pivot-pin{fill:#e8b861;stroke:#17312e;stroke-width:4px}.lever-ground{stroke:#17312e;stroke-width:5px;stroke-linecap:round}.lever-stop-pad{stroke:#82938f;stroke-width:9px;stroke-linecap:square}.lever-stop-pad.left.active{stroke:#d8892d;filter:drop-shadow(0 0 5px #d8892d8c)}.lever-stop-pad.right.active{stroke:#d85f45;filter:drop-shadow(0 0 5px #d85f458c)}.lever-stop-label{fill:#647873;font-size:11px;font-weight:820}.lever-hanger{stroke:#526a65;stroke-width:2px;stroke-dasharray:4 3}.lever-load rect{stroke-width:2px}.lever-load-left rect{fill:#fbf2e5;stroke:#d8892d}.lever-load-right rect{fill:#faece8;stroke:#d85f45}.lever-load-kicker{fill:#61716d;font-size:10px;font-weight:820}.lever-load-value{fill:#1c3330;font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#fffdfa;stroke-width:3px;font-size:17px;font-weight:850}.lever-force line{stroke-width:4px;stroke-linecap:round}.lever-force.left line{stroke:#d8892d}.lever-force.right line{stroke:#d85f45}.lever-force text{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#e5f1ef;stroke-width:5px;font-size:11px;font-weight:820}.lever-force.left text,.lever-arm-value.left,.lever-moment-label.left{fill:#a56014}.lever-force.right text,.lever-arm-value.right,.lever-moment-label.right{fill:#b3422b}.lever-arm-line,.lever-arm-cap{stroke-width:2px}.lever-arm-line.left,.lever-arm-cap.left{stroke:#d8892d}.lever-arm-line.right,.lever-arm-cap.right{stroke:#d85f45}.lever-arm-value{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#f7f8f4;stroke-width:5px;font-size:11px;font-weight:820}.lever-moment-arc{fill:none;stroke-width:5px;stroke-linecap:round}.lever-moment-arc.left{stroke:#d8892d}.lever-moment-arc.right{stroke:#d85f45}.lever-moment-label{paint-order:stroke;stroke:#f7f8f4;stroke-width:5px;font-size:9px;font-weight:850}.lever-formula-panel>rect{fill:#fffffcf0;stroke:#b7c9c5;stroke-width:1.5px;filter:drop-shadow(0 8px 12px #1f403a1f)}.lever-formula-panel.outcome-balanced>rect{stroke:#69aaa4}.lever-formula-panel.outcome-counterclockwise>rect{stroke:#d5a15e}.lever-formula-panel.outcome-clockwise>rect{stroke:#dc8c79}.lever-formula-panel>line{stroke:#d8e1de;stroke-width:1px}.lever-panel-kicker,.lever-outcome-label{fill:#54716c;font-size:9px;font-weight:850}.lever-formula-panel.outcome-balanced .lever-outcome-label{fill:#168d8b}.lever-formula-panel.outcome-counterclockwise .lever-outcome-label{fill:#b8731f}.lever-formula-panel.outcome-clockwise .lever-outcome-label{fill:#bd4d37}.lever-rule{fill:#17312e;font-size:28px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.lever-calculation{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.lever-calculation.left{fill:#a56014}.lever-calculation.right{fill:#b3422b}.lever-net-result{fill:#17312e;font-variant-numeric:tabular-nums;font-size:21px;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.lever-direction-result{font-size:13px;font-weight:850}.lever-comparison-label{fill:#617672;font-size:8px;font-weight:820}.lever-moment-bar-track{fill:#e2e8e6}.lever-moment-bar.left{fill:#d8892d}.lever-moment-bar.right{fill:#d85f45}.lever-question-result{fill:#168d8b;font-variant-numeric:tabular-nums;font-size:12px;font-weight:850}.lever-formula-note,.lever-construction-note{fill:#6b7d79;font-size:9px;font-weight:720}.lever-invalid{fill:#b3422b;font-size:18px;font-weight:820}.lever-narration-overlay .narration-step-title{fill:#17312e}.lever-narration-overlay .narration-step-caption{fill:#526c67}.lever-preset-parameter,.lever-question-parameter,.lever-toggle-parameter{padding-bottom:17px}.lever-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.lever-presets,.lever-question-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.lever-presets button,.lever-question-modes button{color:#afb4ac;background:#272825;border:1px solid #4b4e48;border-radius:4px;min-width:0;min-height:32px;padding:5px 4px;font-size:9px;font-weight:700;line-height:1.15}.lever-presets button:hover,.lever-question-modes button:hover:not(:disabled){color:#eef0e9;border-color:#747970}.lever-question-modes button.active{color:#b0ddd7;background:#203a38;border-color:#4c8881}.lever-question-modes button:disabled{cursor:not-allowed;opacity:.4}.lever-answer-toggle{color:#b0ddd7;background:#203a38;border:1px solid #4c8881;border-radius:4px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:34px;margin-top:6px;font-size:10px;font-weight:760;display:flex}.lever-answer-toggle.revealed{color:#e3c18b;background:#342f27;border-color:#75613d}.lever-question-help{color:#9da299;margin-top:7px;font-size:9px;line-height:1.4;display:block}.lever-masked-parameter .number-field{opacity:.72}.lever-switch-control{color:#d9dcd4;text-align:left;background:#292a27;border:1px solid #4a4c47;border-radius:6px;grid-template-columns:24px minmax(0,1fr) 38px;align-items:center;gap:8px;width:100%;height:38px;padding:0 10px 0 8px;font-size:12px;font-weight:680;display:grid}.lever-switch-control:hover{background:#30312e;border-color:#646760}.lever-switch-control.enabled{border-color:#42766f}.lever-switch-control>svg{color:#747a72}.lever-switch-control.enabled>svg{color:#75bcb5}.lever-switch-track{background:#1f201e;border:1px solid #565953;border-radius:9px;width:34px;height:18px;padding:2px;display:block}.lever-switch-track span{background:#8c9087;border-radius:50%;width:12px;height:12px;transition:transform .15s,background-color .15s;display:block}.lever-switch-control.enabled .lever-switch-track span{background:#61aaa2;transform:translate(16px)}.lever-measurements .lever-measurement-heading{color:#c4d9d5;background:#293d40;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:7px 9px;display:flex}.lever-measurements .lever-measurement-heading.outcome-counterclockwise{color:#e7bf82;background:#40352a}.lever-measurements .lever-measurement-heading.outcome-clockwise{color:#efad9c;background:#412e2b}.lever-measurements .lever-measurement-heading dt,.lever-measurements .lever-measurement-heading dd{color:inherit}.lever-measurements .lever-measurement-heading dd{text-align:right;font-size:10px;line-height:1.25}.lever-net-measurement dd{color:#9ed5ce}.lever-timeline-wrap{align-items:flex-end;min-width:0;height:42px;display:flex;position:relative}.lever-timeline-phases{pointer-events:none;grid-template-columns:2fr 1fr;gap:2px;display:grid;position:absolute;inset:0 0 13px}.lever-timeline-phases span{color:#8c9188;text-transform:uppercase;background:#262724;border:1px solid #454742;border-radius:3px 3px 0 0;align-items:center;min-width:0;padding:0 8px;font-size:8px;font-weight:760;display:flex}.lever-timeline-phases span:last-child{color:#e3c18b;background:#342f27;border-color:#765b3d}.lever-timeline{z-index:1;width:100%;position:relative}.lever-balance-workbench:fullscreen{grid-template-rows:minmax(0,1fr) 68px;width:100vw;height:100vh;min-height:0;display:grid;overflow:hidden}.lever-balance-workbench:fullscreen .topbar,.lever-balance-workbench:fullscreen .parameter-panel{display:none}.lever-balance-workbench:fullscreen .workspace{grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.lever-balance-workbench:fullscreen .lever-stage-area{order:initial;background-color:var(--surface-app);background-image:radial-gradient(#343631 .8px,#0000 .8px);background-size:16px 16px;width:100%;height:auto;min-height:0;padding:54px 32px 24px;display:flex}.lever-balance-workbench:fullscreen .lever-canvas-transform{max-height:calc(100vh - 146px)}.lever-balance-workbench:fullscreen .lever-canvas-transform.is-landscape{max-width:calc(177.778vh - 259.556px)}.lever-balance-workbench:fullscreen .lever-stage-meta{top:14px}.lever-balance-workbench:fullscreen .playback-bar{order:initial;height:68px;display:grid;position:relative}@media (max-width:1100px){.lever-pack-badge{display:none}}@media (max-width:540px){.lever-balance-workbench .stage-area{min-height:520px}.lever-balance-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.lever-stage-meta>span{display:none}.lever-stage-meta{justify-content:flex-end}.lever-canvas-toolbar{max-width:100%}}@media (prefers-reduced-motion:reduce){.lever-canvas-transform,.lever-switch-track span{transition:none}}.sound-pack-badge{color:#acd9d7;white-space:nowrap;background:#1c3031;border:1px solid #426f74;border-radius:4px;align-items:center;gap:4px;min-height:21px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.sound-canvas .canvas-eyebrow{fill:#537073;font-size:12px;font-weight:800}.sound-canvas .canvas-title{fill:#172d30;font-size:34px;font-weight:780}.sound-canvas .canvas-subtitle{fill:#597073;font-size:14px;font-weight:520}.sound-mode-badge rect{fill:#e4eeee;stroke:#adc5c5}.sound-mode-badge text:first-of-type{fill:#244d51;font-size:11px;font-weight:850}.sound-mode-badge text:last-of-type{fill:#587173;font-size:9px;font-weight:800}.sound-tube-shell{fill:#ffffffc2;stroke:#aebfc0;stroke-width:2px}.sound-tube.highlighted .sound-tube-shell{stroke:#0f7e86;stroke-width:4px}.sound-distance-grid{stroke:#c9d5d5;stroke-width:1px;stroke-dasharray:3 7}.sound-particle{fill:#277a80;opacity:.82;stroke:#ffffffd9;stroke-width:1.5px}.sound-pressure-band{pointer-events:none}.sound-pressure-band.compression{fill:#d76a4c;opacity:.085}.sound-pressure-band.rarefaction{fill:#32878d;opacity:.065}.sound-wavefront-line{stroke:#bd5739;stroke-width:3px;stroke-dasharray:7 5}.sound-wavefront-label{fill:#9e452f;paint-order:stroke;stroke:#f8fbfc;stroke-width:4px;font-size:9px;font-weight:850}.sound-speaker rect{fill:#25383b;stroke:#14282b;stroke-width:2px}.sound-speaker path{fill:url(#sound-speaker-cone);stroke:#1b3033;stroke-width:2px}.sound-speaker.highlighted rect{stroke:#d86444;stroke-width:4px}.sound-speaker text{fill:#344f52;font-size:10px;font-weight:850}.sound-speaker text:last-of-type{fill:#a94d35;font-variant-numeric:tabular-nums;font-size:12px}.sound-direction-labels line:first-of-type{stroke:#1b777d;stroke-width:2px}.sound-direction-labels line:last-of-type{stroke:#bd5739;stroke-width:2.5px}.sound-direction-labels text{fill:#496568;paint-order:stroke;stroke:#f8fbfc;stroke-width:4px;font-size:9px;font-weight:850}.sound-density-legend text{fill:#4e696b;font-size:10px;font-weight:850}.sound-density-legend .compression{fill:#ae4b34;opacity:.55}.sound-density-legend .rarefaction{fill:#176d74;opacity:.5}.sound-microphone line{stroke:#718587;stroke-width:2px;stroke-dasharray:4 4}.sound-microphone circle{fill:#e7eeee;stroke:#718587;stroke-width:3px}.sound-microphone path{fill:none;stroke:#718587;stroke-width:2px}.sound-microphone.active circle{fill:#dff1ee;stroke:#158077}.sound-microphone.active path{stroke:#158077}.sound-microphone.highlighted circle{stroke:#d86444;stroke-width:5px}.sound-microphone text{fill:#2d4c4f;paint-order:stroke;stroke:#f8fbfc;stroke-width:4px;font-variant-numeric:tabular-nums;font-size:10px;font-weight:850}.sound-microphone .sound-mic-status{fill:#687d7f;font-size:8px}.sound-microphone.active .sound-mic-status{fill:#14746d}.sound-tube-footnote{fill:#60787a;font-size:10px;font-weight:650}.sound-scope>rect,.sound-formula-panel>rect{fill:#17383b;stroke:#325b5e}.sound-scope.highlighted>rect,.sound-formula-panel.highlighted>rect{fill:#12484c;stroke:#4d969d;stroke-width:3px}.sound-panel-kicker{fill:#a3ccca;font-size:9px;font-weight:850}.sound-panel-note{fill:#92adad;font-size:9px;font-weight:650}.sound-scope-grid{stroke:#31575a;stroke-width:1px;stroke-dasharray:3 5}.sound-scope-baseline{stroke:#507174;stroke-width:1px}.sound-trace{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.sound-trace.mic-a{stroke:#67c9c0}.sound-trace.mic-b{stroke:#ee946c}.sound-trace-label{paint-order:stroke;stroke:#17383b;stroke-width:4px;font-size:9px;font-weight:900}.sound-trace-label.mic-a{fill:#8edbd4}.sound-trace-label.mic-b{fill:#f3ae8e}.sound-time-cursor{stroke:#f1ca78;stroke-width:2px}.sound-time-label{fill:#8ea6a7;font-variant-numeric:tabular-nums;font-size:8px;font-weight:700}.sound-formula-primary{fill:#f6f9f8;font-size:25px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.sound-formula-reading{fill:#d2e3e1;font-variant-numeric:tabular-nums;font-size:12px;font-weight:720}.sound-medium-chip circle{fill:#e8bd6a}.sound-medium-chip text{fill:#9eb8b8;font-size:9px;font-weight:750}.sound-narration-overlay .narration-step-title{fill:#172d30}.sound-narration-overlay .narration-step-caption{fill:#516a6d}.sound-medium-control label{color:#d8dad4;margin-bottom:8px;font-size:13px;display:block}.sound-medium-control select{color:#e7e9e3;background:#292a27;border:1px solid #494b46;border-radius:6px;width:100%;height:36px;padding:0 10px;font-size:12px}.sound-measurements .sound-measurement-heading{background:#203537;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:36px;padding:7px 9px;display:flex}.sound-measurements .sound-measurement-heading dt,.sound-measurements .sound-measurement-heading dd{color:#86cbc6}.sound-measurements .sound-measurement-heading dd{font-size:13px}.sound-measurements .sound-delay-measurement{grid-column:1/-1}.sound-measurements .sound-delay-measurement dd{color:#e8c176}.sound-measurements .sound-mic-reading{background:#252826;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:31px;padding:6px 8px;display:flex}.sound-mic-reading dt{align-items:center;gap:5px;display:inline-flex}.sound-mic-reading dd{color:#898e87;font-size:10px}.sound-mic-reading.active dd{color:#76c5bc}.sound-lesson-speed{color:#9fa49c;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}@media (max-width:1100px){.sound-pack-badge{display:none}}@media (max-width:540px){.sound-wave-workbench .stage-area{min-height:520px}.sound-wave-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}}@media (prefers-reduced-motion:reduce){.sound-wave-workbench .wave-canvas-transform,.sound-wave-workbench .wave-switch-track span{transition:none}}.power-pack-badge{color:#b0d8d3;white-space:nowrap;background:#1b3030;border:1px solid #4a7371;border-radius:4px;align-items:center;gap:4px;min-height:21px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.power-canvas-bg{fill:#f2f7f7}.electrical-power-canvas .canvas-eyebrow{font-size:16px}.electrical-power-canvas .canvas-title{font-size:40px}.electrical-power-canvas .canvas-subtitle{font-size:19px;font-weight:600}.power-mode-badge rect{fill:#e5eeee;stroke:#abc4c3}.power-mode-badge text{fill:#315d5d;font-size:14px;font-weight:850}.electrical-power-canvas.is-portrait .canvas-title{font-size:36px}.electrical-power-canvas.is-portrait .power-mode-badge text{font-size:14px}.power-channel-surface{fill:#ffffffc7;stroke:#aec0c0;stroke-width:2px}.power-channel.highlighted .power-channel-surface{stroke-width:4px}.power-channel.channel-a.highlighted .power-channel-surface{stroke:#17858b}.power-channel.channel-b.highlighted .power-channel-surface{stroke:#c65e42}.power-channel-tab{stroke-width:0}.power-channel.channel-a .power-channel-tab{fill:#17858b}.power-channel.channel-b .power-channel-tab{fill:#c65e42}.power-channel-name{fill:#fff;font-size:15px;font-weight:900}.power-channel-kicker{fill:#5d7374;font-size:13px;font-weight:850}.power-wire{fill:none;stroke:#475d5e;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.power-current-markers{fill:none;stroke-width:5px;stroke-linecap:round;stroke-dasharray:1 10}.channel-a .power-current-markers{stroke:#22a0a4}.channel-b .power-current-markers{stroke:#dd7658}.power-battery line:first-of-type{stroke:#283e40;stroke-width:5px}.power-battery line:nth-of-type(2){stroke:#536b6c;stroke-width:3px}.power-battery text{fill:#425b5d;font-size:16px;font-weight:850}.power-resistor{fill:none;stroke:#d29d39;stroke-width:5px;stroke-linejoin:round}.power-component-label{fill:#536b6d;font-size:14px;font-weight:850}.power-component-value{fill:#1e3c3f;font-variant-numeric:tabular-nums;font-size:18px;font-weight:850}.power-channel-current{fill:#304e50;paint-order:stroke;stroke:#fff;stroke-width:4px;font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.power-watt-readout rect{fill:#173f42}.power-watt-readout text{fill:#f5f8f7;font-variant-numeric:tabular-nums;font-size:17px;font-weight:900}.power-recorder>rect,.power-formula-panel>rect{fill:#173f42;stroke:#315f61}.power-recorder.highlighted>rect,.power-formula-panel.highlighted>rect{fill:#124c50;stroke:#62a8a8;stroke-width:3px}.power-panel-kicker{fill:#a9d4d0;font-size:13px;font-weight:900}.power-panel-note{fill:#97b7b6;font-size:12px;font-weight:650}.power-chart-grid{stroke:#315a5c;stroke-width:1px;stroke-dasharray:3 5}.power-axis{stroke:#6a8a8b;stroke-width:1.5px}.power-projection{fill:none;stroke-width:1.5px;stroke-dasharray:5 5;opacity:.45}.power-energy-line{fill:none;stroke-width:4px;stroke-linecap:round}.power-projection.channel-a,.power-energy-line.channel-a{stroke:#58d1cb}.power-projection.channel-b,.power-energy-line.channel-b{stroke:#f18d68}.power-energy-point.channel-a,.power-inline-readings .channel-a{fill:#58d1cb}.power-energy-point.channel-b,.power-inline-readings .channel-b{fill:#f18d68}.power-time-cursor{stroke:#e2b84d;stroke-width:2px}.power-axis-label{fill:#9ab4b3;paint-order:stroke;stroke:#173f42;stroke-width:4px;font-variant-numeric:tabular-nums;font-size:13px;font-weight:750}.power-axis-title{fill:#9fbdbc;font-size:12px;font-weight:850}.power-formula-primary{fill:#f4f7f6;font-size:28px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.stage-area svg .power-formula-panel{--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.3)}.power-formula-primary.secondary{fill:#f2cf82;font-size:31px}.power-formula-divider{stroke:#42696a}.power-inline-readings text{fill:#dce9e7;font-variant-numeric:tabular-nums;font-size:14px;font-weight:780}.power-comparison-result{fill:#f2cf82;font-size:16px;font-weight:850}.power-direction-note{fill:#91aaaa;font-size:14px;font-weight:650}.electrical-power-canvas :is(.power-channel-name,.power-battery text,.power-component-label,.power-component-value,.power-channel-current,.power-watt-readout text,.power-axis-label){--canvas-text-local-scale:clamp(1, var(--canvas-text-scale,1), 1.5)}.electrical-power-canvas :is(.power-mode-badge text,.power-channel-kicker,.power-panel-kicker,.power-panel-note,.power-axis-title,.power-direction-note){--canvas-text-local-scale:clamp(1, var(--canvas-text-scale,1), 1.2)}.electrical-power-canvas :is(.power-inline-readings text,.power-comparison-result){--canvas-text-local-scale:clamp(1, var(--canvas-text-scale,1), 1.35)}.electrical-power-canvas.is-landscape .power-formula-panel{--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.1)}.electrical-power-canvas.is-landscape .power-formula-primary{font-size:25px}.electrical-power-canvas.is-landscape .power-formula-primary.secondary{font-size:29px}.electrical-power-canvas.is-landscape .power-inline-readings text,.electrical-power-canvas.is-landscape .power-comparison-result{--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.1);font-size:12px}.electrical-power-canvas.is-landscape .power-direction-note{--canvas-text-local-scale:1;font-size:10px}.power-narration-overlay .narration-step-title{fill:#172d30}.power-narration-overlay .narration-step-caption{fill:#516a6d}.power-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.power-preset-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;display:grid}.power-preset-buttons button{color:#b9bdb5;background:#252624;border:1px solid #4b4e48;border-radius:5px;min-height:33px;padding:4px 5px;font-size:10px}.power-preset-buttons button.active{color:#dff3ef;background:#1c3939;border-color:#4c8886}.parameter-control.channel-a-control{box-shadow:inset 3px 0 #17858b}.parameter-control.channel-b-control{box-shadow:inset 3px 0 #c65e42}.power-measurements .power-measurement-heading{grid-column:1/-1;justify-content:space-between;align-items:center;min-height:34px;padding:7px 9px;display:flex}.power-measurements .power-measurement-heading.channel-a{background:#203b3c}.power-measurements .power-measurement-heading.channel-b{background:#3c2b25}.power-measurements .power-measurement-heading.channel-a dt,.power-measurements .power-measurement-heading.channel-a dd{color:#79ccc7}.power-measurements .power-measurement-heading.channel-b dt,.power-measurements .power-measurement-heading.channel-b dd{color:#e7a182}.power-measurements .power-measurement-heading dd{font-size:13px}.power-measurements .power-charge-measurement{grid-column:1/-1}.power-measurements .power-charge-measurement dd{color:#e8c176}.power-footer-law{color:#b7bcb4;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}@media (max-width:1100px){.power-pack-badge{display:none}}@media (max-width:540px){.electrical-power-workbench .stage-area{min-height:520px}.electrical-power-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.power-footer-law{display:none}}@media (prefers-reduced-motion:reduce){.electrical-power-workbench .wave-canvas-transform,.electrical-power-workbench .wave-switch-track span{transition:none}}.electromagnet-pack-badge{color:#e4cf9d;white-space:nowrap;background:#342f24;border:1px solid #6f6651;border-radius:4px;align-items:center;gap:4px;min-height:21px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.electromagnet-canvas-bg{fill:#f3f7f5}.electromagnet-canvas .canvas-eyebrow{fill:#627775;font-size:13px;font-weight:850}.electromagnet-canvas .canvas-title{fill:#1a3032;font-size:38px;font-weight:800}.electromagnet-canvas .canvas-subtitle{fill:#5c706f;font-size:16px;font-weight:580}.electromagnet-canvas.is-portrait .canvas-title{font-size:34px}.electromagnet-rule-badge rect{fill:#ede8db;stroke:#c9b98c}.electromagnet-rule-badge text{fill:#65562f;font-size:12px;font-weight:900}.electromagnet-panel-surface{fill:#ffffffb8;stroke:#b2c1bd;stroke-width:2px}.electromagnet-apparatus.highlighted .electromagnet-panel-surface{stroke:#3f898a;stroke-width:4px}.electromagnet-panel-kicker{fill:#56706e;font-size:12px;font-weight:900}.electromagnet-source rect{fill:#263b3d;stroke:#466366;stroke-width:2px}.electromagnet-source.highlighted rect{stroke:#de8a51;stroke-width:4px}.electromagnet-source text:first-of-type{fill:#a9c2c0;font-size:10px;font-weight:850}.electromagnet-source text:last-of-type{fill:#f0d18d;font-variant-numeric:tabular-nums;font-size:19px;font-weight:900}.electromagnet-source line:first-of-type{stroke:#f2f5f3;stroke-width:5px}.electromagnet-source line:last-of-type{stroke:#a8b8b6;stroke-width:3px}.electromagnet-circuit-wire{fill:none;stroke:#899695;stroke-width:4px;stroke-linecap:round}.electromagnet-circuit-wire.active{stroke:#bb7047}.electromagnet-switch circle{fill:#f3f7f5;stroke:#586d6c;stroke-width:3px}.electromagnet-switch line{stroke:#b66c43;stroke-width:4px;stroke-linecap:round;transform-origin:0;transition:y2 .16s}.electromagnet-switch text{fill:#687b79;paint-order:stroke;stroke:#f3f7f5;stroke-width:5px;font-size:10px;font-weight:850}.electromagnet-field-line,.electromagnet-field-axis{fill:none;stroke:#377e84;stroke-width:3px;stroke-linecap:round;opacity:.72}.electromagnet-field-axis{stroke-width:4px;opacity:.9}.electromagnet-canvas marker path{fill:#377e84}.electromagnet-coil-back path,.electromagnet-coil-front path{fill:none;stroke-linecap:round}.electromagnet-coil-back path{stroke:#71391f;stroke-width:5px;opacity:.48}.electromagnet-coil-front path{stroke:url(#electromagnet-copper-gradient);stroke-width:6px}.electromagnet-coil-front path:nth-child(2n){stroke-width:5.5px}.electromagnet-coil.highlighted :is(.electromagnet-coil-back path,.electromagnet-coil-front path){stroke-width:8px}.electromagnet-core-assembly .electromagnet-core-body,.electromagnet-core-assembly .electromagnet-core-end{stroke-width:3px}.electromagnet-core-assembly.air .electromagnet-core-body,.electromagnet-core-assembly.air .electromagnet-core-end{fill:#eef5f3c7;stroke:#8fa4a1;stroke-dasharray:7 6}.electromagnet-core-assembly.iron .electromagnet-core-body,.electromagnet-core-assembly.iron .electromagnet-core-end{fill:url(#electromagnet-core-gradient);stroke:#34494d}.electromagnet-core-assembly .electromagnet-core-end.finish{opacity:.92}.electromagnet-core-highlight{fill:none;stroke:#ffffff7a;stroke-width:3px;stroke-linecap:round}.electromagnet-current-marker path{fill:#f4cf69;stroke:#6f431e;stroke-width:2px;stroke-linejoin:round;paint-order:stroke fill}.electromagnet-current-marker.is-back{opacity:.55}.electromagnet-current-marker.is-back path{fill:#d7aa5a;stroke:#593b26}.electromagnet-coil-label{fill:#8c4d2c;paint-order:stroke;stroke:#f3f7f5;stroke-width:6px;font-size:13px;font-weight:900}.electromagnet-core-label{fill:#29494c;paint-order:stroke;stroke:#f5f8f6d9;stroke-width:4px;font-size:12px;font-weight:900}.electromagnet-pole rect{stroke-width:3px}.electromagnet-pole.north rect{fill:#c65348;stroke:#8f302a}.electromagnet-pole.south rect{fill:#287e85;stroke:#1a5c62}.electromagnet-pole.none rect{fill:#a1aaa7;stroke:#77817f}.electromagnet-poles.highlighted .electromagnet-pole rect{stroke:#e8b95d;stroke-width:5px}.electromagnet-pole text{fill:#fff;font-size:25px;font-weight:950}.electromagnet-current-label{fill:#5b6f6e;paint-order:stroke;stroke:#f3f7f5;stroke-width:5px;font-size:11px;font-weight:850}.electromagnet-compass>circle:first-of-type{fill:#fff;stroke:#617675;stroke-width:4px}.electromagnet-compass.highlighted>circle:first-of-type{stroke:#d69a48;stroke-width:6px}.electromagnet-compass .earth-axis{stroke:#aab7b5;stroke-width:2px;stroke-dasharray:4 5}.electromagnet-compass .earth-label,.electromagnet-compass .compass-label{fill:#5d706e;font-size:9px;font-weight:850}.electromagnet-compass .compass-reading{fill:#9a6624;font-variant-numeric:tabular-nums;font-size:13px;font-weight:900}.electromagnet-compass .compass-north{fill:#c65348}.electromagnet-compass .compass-south{fill:#287e85}.electromagnet-compass>circle:last-of-type{fill:#273c3e}.electromagnet-probe-distance{stroke:#9aa9a6;stroke-width:2px;stroke-dasharray:5 4}.electromagnet-probe-label{fill:#687b79;font-variant-numeric:tabular-nums;font-size:10px;font-weight:750}.electromagnet-readings>rect{fill:#183c3f;stroke:#366165;stroke-width:2px}.electromagnet-readings.highlighted>rect{fill:#15494d;stroke:#67aaa8;stroke-width:4px}.electromagnet-readings .electromagnet-panel-kicker{fill:#a5ccca}.electromagnet-readings>line{stroke:#466a6c;stroke-width:1.5px}.electromagnet-formula{fill:#f5f8f7;font-size:24px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.electromagnet-reading-row text:first-of-type{fill:#94b0ae;font-size:10px;font-weight:800}.electromagnet-reading-row text:last-of-type{fill:#f3f6f4;font-variant-numeric:tabular-nums;font-size:13px;font-weight:900}.electromagnet-reading-row.accent text:last-of-type{fill:#f1ca79}.electromagnet-strength-meter rect:first-of-type{fill:#2b5558}.electromagnet-strength-meter rect:last-of-type{fill:#e2b95f}.electromagnet-rule-note{fill:#f0cb7c;font-size:10px;font-weight:850}.electromagnet-model-note{fill:#8ea9a7;font-size:9px;font-weight:650}.electromagnet-narration-overlay .narration-step-title{fill:#193234}.electromagnet-narration-overlay .narration-step-caption{fill:#536b69}.electromagnet-canvas :is(.electromagnet-heading,.electromagnet-panel-kicker,.electromagnet-source,.electromagnet-switch,.electromagnet-coil-label,.electromagnet-core-label,.electromagnet-current-label,.electromagnet-compass,.electromagnet-probe-label,.electromagnet-rule-note,.electromagnet-model-note){--canvas-text-local-scale:1}.electromagnet-canvas :is(.electromagnet-pole text,.electromagnet-reading-row text){--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.25)}.electromagnet-formula{--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.05)}.electromagnet-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.electromagnet-preset-buttons,.electromagnet-segmented{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.electromagnet-preset-buttons button,.electromagnet-segmented button{color:#b9bdb5;background:#252624;border:1px solid #4b4e48;border-radius:5px;min-width:0;min-height:32px;padding:5px 6px;font-size:10px;line-height:1.15}.electromagnet-preset-buttons button.active,.electromagnet-segmented button.active{color:#f0d1b9;background:#3a2d24;border-color:#a46d46}.electromagnet-measurements .electromagnet-measurement-heading{background:#273c3d;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:36px;padding:7px 9px;display:flex}.electromagnet-measurement-heading dt,.electromagnet-measurement-heading dd{color:#9fd2ce}.electromagnet-deflection-measurement{grid-column:1/-1}.electromagnet-deflection-measurement dt{align-items:center;gap:5px;display:inline-flex}.electromagnet-deflection-measurement dd{color:#e9c77d}.electromagnet-footer-law{color:#bdc2ba;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.electromagnet-workbench .playback-bar{grid-template-columns:auto 112px minmax(120px,1fr) auto auto;gap:14px;padding-left:24px;padding-right:24px}@media (max-width:1100px){.electromagnet-pack-badge{display:none}.electromagnet-workbench .playback-bar{grid-template-columns:auto 112px minmax(120px,1fr) auto;padding-left:16px;padding-right:16px}.electromagnet-footer-law{display:none}}@media (max-width:820px){.electromagnet-workbench .playback-bar{grid-template-columns:auto minmax(100px,1fr) auto}}@media (max-width:540px){.electromagnet-workbench .stage-area{min-height:520px}.electromagnet-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}.electromagnet-footer-law{display:none}}@media (prefers-reduced-motion:reduce){.electromagnet-workbench .wave-canvas-transform,.electromagnet-workbench .wave-switch-track span,.electromagnet-switch line{transition:none}}.thin-lens-pack-badge{color:#b7d9d6;white-space:nowrap;background:#1c3031;border:1px solid #477678;border-radius:4px;align-items:center;gap:4px;min-height:21px;padding:0 6px;font-size:9px;font-weight:750;display:inline-flex}.thin-lens-canvas-bg{fill:#eef2ef}.thin-lens-canvas-grid{pointer-events:none}.thin-lens-heading .canvas-eyebrow{fill:#536b69}.thin-lens-heading .canvas-title{fill:#182f31}.thin-lens-heading .canvas-subtitle{fill:#617270}.thin-lens-panel{fill:#f8faf7;stroke:#b8c5c1;stroke-width:2px}.thin-lens-apparatus.highlighted .thin-lens-panel{stroke:#d69944;stroke-width:4px}.thin-lens-panel-kicker{fill:#607674;font-size:11px;font-weight:900}.thin-lens-axis{stroke:#526563;stroke-width:2px}.thin-lens-axis-label{fill:#6e807d;font-size:10px;font-weight:800}.thin-lens-ruler rect{fill:#d5c6a5;stroke:#a79369;stroke-width:1.5px}.thin-lens-ruler line{stroke:#766947;stroke-width:1.2px}.thin-lens-focus-marks circle{fill:#bd7930}.thin-lens-focus-marks line{stroke:#a8662b;stroke-width:2px}.thin-lens-focus-marks text{fill:#8a551f;paint-order:stroke;stroke:#f8faf7;stroke-width:4px;font-size:12px;font-weight:900}.thin-lens-body path{fill:url(#thin-lens-glass);stroke:#278e8b;stroke-width:3px}.thin-lens-body>line{stroke:#197d7b;stroke-width:1.5px;stroke-dasharray:5 5}.thin-lens-body>text{fill:#246d6c;paint-order:stroke;stroke:#f8faf7;stroke-width:5px;font-size:10px;font-weight:900}.thin-lens-body.highlighted path{stroke:#e0a03f;stroke-width:5px}.lens-image-arrow line,.lens-image-arrow path{fill:none;stroke:#cf654c;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.lens-image-arrow text{fill:#a54234;paint-order:stroke;stroke:#f8faf7;stroke-width:5px;font-size:12px;font-weight:900}.thin-lens-image .lens-image-arrow line,.thin-lens-image .lens-image-arrow path{stroke:#397fbd}.thin-lens-image .lens-image-arrow.virtual line,.thin-lens-image .lens-image-arrow.virtual path{stroke-dasharray:6 5}.thin-lens-image .lens-image-arrow text{fill:#2b6da9}.thin-lens-object.highlighted .lens-image-arrow line,.thin-lens-object.highlighted .lens-image-arrow path,.thin-lens-image.highlighted .lens-image-arrow line,.thin-lens-image.highlighted .lens-image-arrow path{stroke-width:8px}.thin-lens-ray{transition:opacity .1s linear}.thin-lens-ray line{fill:none;stroke-linecap:round;stroke-linejoin:round}.thin-lens-ray .incident{stroke:#d58b2d;stroke-width:3.5px}.thin-lens-ray .refracted{stroke:#138c89;stroke-width:3.5px}.thin-lens-ray.center .incident,.thin-lens-ray.center .refracted{stroke-width:2.5px}.thin-lens-ray text{fill:#4d6462;paint-order:stroke;stroke:#f8faf7;stroke-width:5px;font-size:9px;font-weight:900}.thin-lens-ray.highlighted line{stroke-width:6px;filter:drop-shadow(0 0 4px #db9b3c66)}.thin-lens-extensions{transition:opacity .1s linear}.thin-lens-extensions line{stroke:#718d8b;stroke-width:2px;stroke-dasharray:7 6}.thin-lens-extensions text{fill:#667d7b;paint-order:stroke;stroke:#f8faf7;stroke-width:5px;font-size:9px;font-weight:850}.thin-lens-extensions.highlighted line{stroke:#d28b35;stroke-width:4px}.thin-lens-infinity-banner rect{fill:#fff3d9;stroke:#d6a04b;stroke-width:2px}.thin-lens-infinity-banner text{fill:#7d531c;font-size:11px;font-weight:900}.thin-lens-readings>rect{fill:#183c3f;stroke:#356063;stroke-width:2px}.thin-lens-readings.highlighted>rect{fill:#174b4d;stroke:#69aaa8;stroke-width:4px}.thin-lens-readings .thin-lens-panel-kicker{fill:#a7d1ce}.thin-lens-readings>line{stroke:#496d6e;stroke-width:1.5px}.thin-lens-formula{fill:#f5f7f6;font-size:26px;font-style:italic;font-weight:700;font-family:Georgia,Times New Roman,serif!important}.thin-lens-formula.secondary{fill:#f0c979;font-size:21px}.thin-lens-result{fill:#f1c979;font-size:14px;font-weight:900}.thin-lens-reading-row text:first-of-type{fill:#9cb8b6;font-size:15px;font-style:italic;font-weight:800;font-family:Georgia,Times New Roman,serif!important}.thin-lens-reading-row text:last-of-type{fill:#f1f5f4;font-variant-numeric:tabular-nums;font-size:14px;font-weight:900}.thin-lens-reading-row.accent text:last-of-type{fill:#f1c979}.thin-lens-sign-note{fill:#a7c5c2;font-size:10px;font-weight:750}.thin-lens-model-note{fill:#89a3a1;font-size:9px;font-weight:650}.thin-lens-narration-overlay .narration-step-title{fill:#183234}.thin-lens-narration-overlay .narration-step-caption{fill:#536b69}.thin-lens-canvas :is(.thin-lens-heading,.thin-lens-panel-kicker,.thin-lens-axis-label,.thin-lens-body>text,.thin-lens-infinity-banner text,.thin-lens-sign-note,.thin-lens-model-note){--canvas-text-local-scale:1}.thin-lens-canvas :is(.thin-lens-focus-marks text,.lens-image-arrow text,.thin-lens-reading-row text){--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.35)}.thin-lens-canvas :is(.thin-lens-ray text,.thin-lens-extensions text,.thin-lens-result),.thin-lens-formula{--canvas-text-local-scale:clamp(.9, var(--canvas-text-scale,1), 1.1)}.thin-lens-canvas.is-portrait .thin-lens-formula{font-size:22px}.thin-lens-canvas.is-portrait .thin-lens-formula.secondary{font-size:18px}.thin-lens-canvas.is-portrait .thin-lens-reading-row text:last-of-type{font-size:12px}.thin-lens-control-label{color:#dfe1db;margin-bottom:9px;font-size:11px;font-weight:650;display:block}.thin-lens-preset-buttons,.thin-lens-segmented{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.thin-lens-preset-buttons button,.thin-lens-segmented button{color:#b9bdb5;background:#252624;border:1px solid #4b4e48;border-radius:5px;min-width:0;min-height:32px;padding:5px 6px;font-size:10px;line-height:1.15}.thin-lens-preset-buttons button.active,.thin-lens-segmented button.active{color:#f1d1a0;background:#3b3023;border-color:#b77a35}.thin-lens-measurements .thin-lens-measurement-heading{background:#273d3e;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:36px;padding:7px 9px;display:flex}.thin-lens-measurement-heading dt,.thin-lens-measurement-heading dd{color:#a7d3cf}.thin-lens-footer-law{color:#bdc2ba;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.thin-lens-workbench:not(.narration-mode){grid-template-rows:48px minmax(0,1fr)}.thin-lens-workbench:not(.narration-mode):fullscreen{grid-template-rows:minmax(0,1fr)}.thin-lens-workbench .playback-bar{grid-template-columns:auto 112px minmax(120px,1fr) auto;gap:14px;padding-left:24px;padding-right:24px}@media (max-width:1100px){.thin-lens-pack-badge{display:none}.thin-lens-workbench .playback-bar{grid-template-columns:auto 112px minmax(120px,1fr);padding-left:16px;padding-right:16px}.thin-lens-footer-law{display:none}}@media (max-width:820px){.thin-lens-workbench .playback-bar{grid-template-columns:auto minmax(100px,1fr) auto}}@media (max-width:540px){.thin-lens-workbench .stage-area{min-height:520px}.thin-lens-workbench.ratio-landscape .stage-area{height:340px;min-height:340px}}@media (prefers-reduced-motion:reduce){.thin-lens-workbench .wave-canvas-transform,.thin-lens-workbench .wave-switch-track span,.thin-lens-ray,.thin-lens-extensions{transition:none}}
