.widget{margin:var(--space-6) 0;padding:var(--space-4) var(--space-5) var(--space-5);border:1px solid var(--md-outline-variant);border-radius:var(--md-shape-xl);background:var(--md-surface);color:var(--md-on-surface);font:var(--md-body-m);letter-spacing:var(--md-body-m-tracking)}.widget.widget-stage{background:0 0;border:0;border-radius:0;margin:0;padding:0}.widget .widget-head{align-items:center;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.widget .widget-title{overflow-wrap:anywhere;min-width:0;font:var(--md-title-m);letter-spacing:var(--md-title-m-tracking);flex:180px}.widget.widget-stage .widget-head{margin-bottom:var(--space-2)}.widget.widget-stage .widget-title{font:var(--md-title-s);letter-spacing:var(--md-title-s-tracking)}.widget .widget-reset{min-width:var(--touch);min-height:var(--touch);margin-left:auto;margin-right:calc(-1 * var(--space-2));flex:none}.widget .widget-body{min-width:0}.widget .widget-grid-body{gap:var(--space-4) var(--space-5);grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;display:grid}.widget.widget-stage .widget-grid-body{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}@media not (min-width:840px){.widget .widget-grid-body{grid-template-columns:minmax(0,1fr)}}.widget .widget-plot{border:1px solid var(--md-outline-variant);border-radius:var(--md-shape-m);background:var(--md-surface-container-lowest);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.widget .widget-controls{gap:var(--space-2);min-width:0;display:grid}.widget .widget-slider{gap:var(--space-3);min-height:var(--touch);grid-template-columns:minmax(2.5em,auto) minmax(4rem,1fr) auto;align-items:center;display:grid}.widget .widget-slider label{min-width:0;font:var(--md-label-l);letter-spacing:var(--md-label-l-tracking);color:var(--md-on-surface);overflow-wrap:anywhere}.widget .widget-slider output{min-width:3.5em;padding:2px var(--space-2);border-radius:var(--md-shape-full);background:var(--md-surface-container-high);color:var(--md-on-surface);font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;font-size:12px;line-height:20px}.widget .widget-toggle{isolation:isolate;justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--touch);margin:0 calc(-1 * var(--space-2));padding:0 var(--space-2);border-radius:var(--md-shape-s);font:var(--md-body-m);letter-spacing:var(--md-body-m-tracking);cursor:pointer;display:flex;position:relative}.widget .widget-toggle:before{content:"";z-index:-1;border-radius:inherit;opacity:0;pointer-events:none;transition:opacity var(--md-duration-short3) linear;background:currentColor;position:absolute;inset:0}@media (hover:hover){.widget .widget-toggle:hover:before{opacity:var(--md-state-hover)}}.widget .widget-toggle:has(input:focus-visible):before{opacity:var(--md-state-focus)}.widget .widget-toggle>span{min-width:0}.widget .widget-select{gap:var(--space-2);display:grid}.widget .widget-select>span{font:var(--md-label-l);letter-spacing:var(--md-label-l-tracking)}.widget .widget-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.widget .widget-readout{padding:var(--space-3) var(--space-4);border-radius:var(--md-shape-m);background:var(--md-surface-container-high);color:var(--md-on-surface);font-family:var(--font-mono);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:14px;line-height:1.6;overflow-x:auto}.widget .widget-readout b{font-weight:600}.widget[data-archetype=annotated-figure] .widget-readout{font:var(--md-body-m);letter-spacing:var(--md-body-m-tracking)}.widget .widget-caption{font:var(--md-body-s);letter-spacing:var(--md-body-s-tracking);color:var(--md-on-surface-variant);margin:0}.widget .widget-loading,.widget .widget-unavailable{min-height:120px;padding:var(--space-4);border-radius:var(--md-shape-m);color:var(--md-on-surface-variant);background:var(--md-surface-container-high);text-align:center;place-items:center;display:grid}.widget .widget-unavailable code{font-family:var(--font-mono);font-size:.92em}.widget .widget-readout .widget-ok{color:var(--md-success)}.widget .widget-grid{stroke:var(--md-outline-variant);stroke-width:1px}.widget .widget-axis{stroke:var(--md-on-surface-variant);stroke-width:1px}.widget .widget-tick{fill:var(--md-on-surface-variant);font-variant-numeric:tabular-nums;font-size:10px}.widget .widget-curve{fill:none;stroke:var(--md-on-surface);stroke-width:2.2px;stroke-linejoin:round}.widget .widget-curve-2{fill:none;stroke:var(--md-on-surface-variant);stroke-width:1.75px;stroke-dasharray:6 4}.widget .widget-ghost{fill:none;stroke:var(--md-outline);stroke-width:1.5px;stroke-dasharray:5 4}.widget .widget-hole{fill:var(--md-surface-container-lowest);stroke:var(--md-on-surface);stroke-width:2px}.widget .widget-segment{stroke:var(--md-on-surface);stroke-width:2.5px}.widget .widget-dot,.widget .widget-centroid{fill:var(--md-on-surface)}.widget .widget-label,.widget .widget-point-label{fill:var(--md-on-surface-variant);font-variant-numeric:tabular-nums;font-size:11px}.widget .widget-point-label{fill:var(--md-on-surface);font-size:15px;font-weight:700}.widget .widget-tangent{stroke:var(--md-primary);stroke-width:2px}.widget .widget-web{fill:none;stroke:var(--md-primary);stroke-width:1.5px}.widget .widget-area{fill:var(--md-primary);fill-opacity:.14}.widget .widget-rects rect{fill:var(--md-primary);fill-opacity:.12;stroke:var(--md-primary)}.widget .widget-polygon{fill:var(--md-primary);fill-opacity:.1;stroke:var(--md-primary);stroke-width:2px;stroke-linejoin:round}.widget .widget-handle{fill:var(--md-primary);stroke:var(--md-surface-container-lowest);stroke-width:2px;cursor:grab}.widget .widget-handle:active{cursor:grabbing}.widget .widget-handle:focus-visible{fill:var(--md-surface-container-lowest);stroke:var(--md-primary);stroke-width:3px;outline:none}.widget .widget-hit{fill:#0000;stroke:none;pointer-events:all;cursor:grab}.widget .widget-hotspot,.widget .widget-hotspot .widget-hit{cursor:pointer}.widget .widget-hotspot circle:not(.widget-hit){fill:var(--md-surface-container-lowest);stroke:var(--md-on-surface);stroke-width:1.5px}.widget .widget-hotspot text{fill:var(--md-on-surface);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.widget .widget-hotspot:hover:not(.widget-hotspot-focus) circle:not(.widget-hit){fill:var(--md-surface-container-high)}.widget .widget-hotspot-shown circle:not(.widget-hit){stroke:var(--md-outline)}.widget .widget-hotspot-shown text{fill:var(--md-on-surface-variant)}.widget .widget-hotspot-focus circle:not(.widget-hit){fill:var(--md-secondary-container);stroke:var(--md-on-secondary-container)}.widget .widget-hotspot-focus text{fill:var(--md-on-secondary-container)}.widget .widget-hotspot:focus-visible circle:not(.widget-hit){stroke:var(--md-primary);stroke-width:3px}.widget .widget-solver{gap:var(--space-3);display:grid}.widget .widget-step{padding:var(--space-3) var(--space-4) var(--space-4);border-radius:var(--md-shape-l);background:var(--md-surface-container-low);animation:md-rise var(--md-spring-default-spatial-duration) var(--md-spring-default-spatial) backwards;border:1px solid #0000}.widget .widget-step-active{border-color:var(--md-primary)}.widget .widget-step>div:first-child{font:var(--md-title-s);letter-spacing:var(--md-title-s-tracking)}.widget .widget-choices{gap:var(--space-2);margin:var(--space-3) 0 var(--space-2);flex-wrap:wrap;display:flex}.widget .widget-choices .btn.primary:disabled{background:var(--md-success-container);color:var(--md-on-success-container);cursor:default;border-color:#0000}.widget .widget-step>.notice{margin:var(--space-2) 0 0}.widget .widget-step>.notice>.i{margin-top:0}.widget .widget-reveal{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--md-shape-m);background:var(--md-surface-container-high);font-family:var(--font-prose);letter-spacing:0;font-size:.9375rem;line-height:1.55}@media (forced-colors:active){.widget .widget-step{border-color:canvastext}}@media not (min-width:1024px){.widget .btn,.widget .seg button{min-height:var(--touch)}.widget .widget-hit:not(.widget-hit-dynamic){r:48px}}@media not (min-width:600px){.widget{padding:var(--space-3) var(--space-3) var(--space-4);border-radius:var(--md-shape-l)}.widget .widget-reset{margin-right:0}}
