:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) {
    --ch08-ink: #17344d;
    --ch08-muted: #65798a;
    --ch08-line: #8095a7;
    --ch08-grid: #d9e5ed;
    --ch08-surface: #f2f8fb;
    --ch08-accent: #177da8;
    --ch08-component: #c55358;
    --ch08-resultant: #078879;
    --ch08-secondary: #685bb0;
    --ch08-neutral: #566b7b;
    margin: clamp(1.05rem, 2.5vw, 1.7rem) 0;
    padding: clamp(0.95rem, 2.4vw, 1.4rem);
    border: 1px solid color-mix(in srgb, var(--ch08-accent) 16%, transparent);
    border-radius: 1.25rem;
    background: linear-gradient(145deg, #fdfefe 0%, var(--ch08-surface) 100%);
    color: var(--ch08-ink);
    box-shadow: 0 0.8rem 2rem rgb(23 52 77 / 0.065);
    overflow: clip;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual-heading {
    display: grid;
    gap: 0.18rem;
    margin-bottom: 0.85rem;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual-heading h3 {
    margin: 0;
    color: var(--ch08-ink);
    font-size: var(--unit-text-heading-medium, 17px);
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -0.015em;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual-kicker {
    margin: 0;
    color: var(--ch08-accent);
    font-size: var(--unit-text-micro, 11px);
    font-weight: 800;
    letter-spacing: 0.085em;
    text-transform: uppercase;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual-controls.unit-dynamics-controls {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(min(6.6rem, 100%), 1fr));
    gap: 0.42rem;
    margin: 0 0 0.82rem;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .unit-dynamics-control {
    min-width: 0;
    height: 40px;
    padding: 0.45rem 0.54rem;
    border: 1px solid color-mix(in srgb, var(--ch08-line) 62%, transparent);
    border-radius: 0.72rem;
    background: rgb(255 255 255 / 0.9);
    color: var(--ch08-ink);
    font: inherit;
    font-size: var(--unit-text-meta, 12px);
    font-weight: 740;
    line-height: 1;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    cursor: pointer;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .unit-dynamics-control:hover {
    border-color: var(--ch08-accent);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .unit-dynamics-control[aria-pressed="true"] {
    border-color: var(--ch08-accent);
    background: var(--ch08-accent);
    color: #fff;
    box-shadow: 0 0.32rem 0.85rem rgb(23 125 168 / 0.2);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .unit-dynamics-auto {
    color: var(--ch08-accent);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual[data-motion-enabled="true"] .ch08-visual-controls.unit-dynamics-controls {
    grid-template-columns: repeat(var(--ch08-control-count, 3), minmax(0, 1fr));
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-motion-controls {
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr) 5.2rem;
    align-items: center;
    gap: 0.72rem;
    min-height: 2.55rem;
    margin: -0.2rem 0 0.82rem;
    padding: 0.36rem 0.48rem;
    border-radius: 0.8rem;
    background: color-mix(in srgb, var(--ch08-accent) 7%, transparent);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-motion-toggle {
    min-width: 0;
    min-height: 1.95rem;
    padding: 0.32rem 0.58rem;
    border: 0;
    border-radius: 999px;
    background: var(--ch08-accent);
    color: #fff;
    font: inherit;
    font-size: var(--unit-text-meta, 12px);
    font-weight: 760;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-motion-scrubber {
    width: 100%;
    min-width: 0;
    margin: 0;
    accent-color: var(--ch08-accent);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-motion-phase {
    color: var(--ch08-muted);
    font-size: var(--unit-text-meta, 12px);
    font-weight: 720;
    line-height: 1;
    text-align: right;
    white-space: nowrap;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual-drawing {
    position: relative;
    width: 100%;
    aspect-ratio: var(--ch08-drawing-ratio, 720 / 360);
    border-radius: 0.95rem;
    background: rgb(255 255 255 / 0.74);
    container-type: inline-size;
    overflow: clip;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual-drawing > svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    overflow: hidden;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-math-label, .ch08-text-label) {
    position: absolute;
    z-index: 3;
    max-width: 44%;
    transform: translate(-50%, -50%);
    color: var(--ch08-ink);
    font-size: clamp(0.68rem, 2.15cqi, 0.94rem);
    font-weight: 670;
    line-height: 1.05;
    white-space: nowrap;
    pointer-events: none;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-math-label, .ch08-text-label)[data-math-anchor="start"] {
    transform: translate(0, -50%);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-math-label, .ch08-text-label)[data-math-anchor="end"] {
    transform: translate(-100%, -50%);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-math-label, .ch08-text-label) .MathJax {
    font-size: 1em !important;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.is-emphasis, .is-resultant) {
    color: var(--ch08-resultant);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .is-component {
    color: var(--ch08-component);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .is-secondary {
    color: var(--ch08-secondary);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .is-neutral {
    color: var(--ch08-neutral);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-stage-surface {
    fill: rgb(255 255 255 / 0.54);
    stroke: rgb(23 125 168 / 0.11);
    stroke-width: 1;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-equilibrium, .ch08-guide, .ch08-normal) {
    fill: none;
    stroke: var(--ch08-line);
    stroke-width: 1;
    stroke-dasharray: 5 6;
    opacity: 0.7;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-wave {
    fill: none;
    stroke-width: 2.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-wave.is-component, .ch08-vector.is-component, .ch08-arrowhead.is-component) {
    stroke: var(--ch08-component);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-wave.is-secondary, .ch08-vector.is-secondary, .ch08-arrowhead.is-secondary) {
    stroke: var(--ch08-secondary);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-wave.is-resultant, .ch08-vector.is-resultant, .ch08-arrowhead.is-resultant) {
    stroke: var(--ch08-resultant);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-vector.is-accent, .ch08-arrowhead.is-accent) {
    stroke: var(--ch08-accent);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-vector.is-neutral, .ch08-arrowhead.is-neutral) {
    stroke: var(--ch08-neutral);
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-vector {
    fill: none;
    stroke-width: 2.1;
    stroke-linecap: round;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-arrowhead {
    fill: none;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-envelope, .ch08-wavefront, .ch08-node-line, .ch08-antinode-line, .ch08-order-ray, .ch08-angle-arc) {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-envelope {
    stroke: var(--ch08-resultant);
    stroke-width: 1.15;
    stroke-dasharray: 6 6;
    opacity: 0.6;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-wavefront {
    stroke: var(--ch08-accent);
    stroke-width: 1.55;
    opacity: 0.78;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-wavefront.is-output {
    stroke: var(--ch08-resultant);
    stroke-width: 1.75;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-point {
    fill: #fff;
    stroke: var(--ch08-neutral);
    stroke-width: 1.7;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-point.is-node, .ch08-point.is-source) {
    fill: var(--ch08-accent);
    stroke: #fff;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-point.is-antinode, .ch08-point.is-detector, .ch08-probe) {
    fill: var(--ch08-resultant);
    stroke: #fff;
    stroke-width: 1.7;
}

:is(
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"]
) .ch08-phase-marker.is-component {
    fill: var(--ch08-component);
    stroke: #fff;
    stroke-width: 1.4;
}

:is(
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"]
) .ch08-phase-marker.is-secondary {
    fill: var(--ch08-secondary);
    stroke: #fff;
    stroke-width: 1.4;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-barrier, .ch08-support, .ch08-reflector, .ch08-screen, .ch08-grating) {
    fill: #607789;
    stroke: #40596b;
    stroke-width: 1;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-apparatus, .ch08-transmitter, .ch08-tube) {
    fill: #e7f0f5;
    stroke: var(--ch08-line);
    stroke-width: 1.4;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-closed-end, .ch08-grating-line) {
    stroke: var(--ch08-neutral);
    stroke-width: 1.45;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-grating-line.is-zoom {
    stroke-width: 2;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-node-line {
    stroke: var(--ch08-secondary);
    stroke-width: 1.25;
    stroke-dasharray: 6 6;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-antinode-line {
    stroke: var(--ch08-resultant);
    stroke-width: 1.7;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-bright-fringe, .ch08-dark-fringe) {
    stroke: none;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-bright-fringe {
    fill: #f2c14f;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-dark-fringe {
    fill: #8094a5;
    opacity: 0.48;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-order-ray {
    stroke: var(--ch08-resultant);
    stroke-width: 2;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-angle-arc {
    stroke: var(--ch08-secondary);
    stroke-width: 1.2;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-ray-violet, .ch08-ray-green, .ch08-ray-red, .ch08-ray-white) {
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-ray-violet { stroke: #7156bd; }

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-ray-green { stroke: #2c9465; }

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-ray-red { stroke: #c9484d; }

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-ray-white { stroke: #8999a6; }

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) :is(.ch08-visual-state-title, .ch08-visual-caption) {
    margin-inline: 0.1rem;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual-state-title {
    margin-top: 0.78rem;
    margin-bottom: 0.22rem;
    color: var(--ch08-ink);
    font-size: var(--unit-text-body, 15.5px);
    font-weight: 760;
    line-height: 1.25;
}

:is(
    [data-unit-visual-extension="superposition_pulse_sum"],
    [data-unit-visual-extension="stationary_wave_formation"],
    [data-unit-visual-extension="stationary_node_phase_map"],
    [data-unit-visual-extension="stationary_experiment_compare"],
    [data-unit-visual-extension="diffraction_gap_model"],
    [data-unit-visual-extension="two_source_interference_map"],
    [data-unit-visual-extension="double_slit_geometry"],
    [data-unit-visual-extension="diffraction_grating_orders"]
) .ch08-visual-caption {
    margin-top: 0;
    margin-bottom: 0;
    color: var(--ch08-muted);
    font-size: var(--unit-text-body, 15.5px);
    line-height: 1.52;
}

@media (max-width: 620px) {
    :is(
        [data-unit-visual-extension="superposition_pulse_sum"],
        [data-unit-visual-extension="stationary_wave_formation"],
        [data-unit-visual-extension="stationary_node_phase_map"],
        [data-unit-visual-extension="stationary_experiment_compare"],
        [data-unit-visual-extension="diffraction_gap_model"],
        [data-unit-visual-extension="two_source_interference_map"],
        [data-unit-visual-extension="double_slit_geometry"],
        [data-unit-visual-extension="diffraction_grating_orders"]
    ) {
        padding: 0.85rem;
        border-radius: 1.05rem;
    }

    :is(
        [data-unit-visual-extension="superposition_pulse_sum"],
        [data-unit-visual-extension="stationary_wave_formation"],
        [data-unit-visual-extension="stationary_node_phase_map"],
        [data-unit-visual-extension="stationary_experiment_compare"],
        [data-unit-visual-extension="diffraction_gap_model"],
        [data-unit-visual-extension="two_source_interference_map"],
        [data-unit-visual-extension="double_slit_geometry"],
        [data-unit-visual-extension="diffraction_grating_orders"]
    ) .ch08-visual-controls.unit-dynamics-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :is(
        [data-unit-visual-extension="superposition_pulse_sum"],
        [data-unit-visual-extension="stationary_wave_formation"],
        [data-unit-visual-extension="stationary_node_phase_map"],
        [data-unit-visual-extension="stationary_experiment_compare"],
        [data-unit-visual-extension="diffraction_gap_model"],
        [data-unit-visual-extension="two_source_interference_map"],
        [data-unit-visual-extension="double_slit_geometry"],
        [data-unit-visual-extension="diffraction_grating_orders"]
    ) .unit-dynamics-auto {
        grid-column: 1 / -1;
    }

    :is(
        [data-unit-visual-extension="superposition_pulse_sum"],
        [data-unit-visual-extension="stationary_wave_formation"],
        [data-unit-visual-extension="stationary_node_phase_map"],
        [data-unit-visual-extension="stationary_experiment_compare"],
        [data-unit-visual-extension="diffraction_gap_model"],
        [data-unit-visual-extension="two_source_interference_map"],
        [data-unit-visual-extension="double_slit_geometry"],
        [data-unit-visual-extension="diffraction_grating_orders"]
    ) .ch08-visual[data-motion-enabled="true"] .unit-dynamics-auto {
        grid-column: auto;
    }

    :is(
        [data-unit-visual-extension="superposition_pulse_sum"],
        [data-unit-visual-extension="stationary_wave_formation"],
        [data-unit-visual-extension="stationary_node_phase_map"],
        [data-unit-visual-extension="stationary_experiment_compare"],
        [data-unit-visual-extension="diffraction_gap_model"],
        [data-unit-visual-extension="two_source_interference_map"],
        [data-unit-visual-extension="double_slit_geometry"],
        [data-unit-visual-extension="diffraction_grating_orders"]
    ) .ch08-motion-controls {
        grid-template-columns: 4rem minmax(2.6rem, 1fr) 5.25rem;
        gap: 0.38rem;
        padding-inline: 0.36rem;
    }

    :is(
        [data-unit-visual-extension="superposition_pulse_sum"],
        [data-unit-visual-extension="stationary_wave_formation"],
        [data-unit-visual-extension="stationary_node_phase_map"],
        [data-unit-visual-extension="stationary_experiment_compare"],
        [data-unit-visual-extension="diffraction_gap_model"],
        [data-unit-visual-extension="two_source_interference_map"],
        [data-unit-visual-extension="double_slit_geometry"],
        [data-unit-visual-extension="diffraction_grating_orders"]
    ) .unit-dynamics-control {
        height: 38px;
        font-size: var(--unit-text-meta, 12px);
    }

    :is(
        [data-unit-visual-extension="superposition_pulse_sum"],
        [data-unit-visual-extension="stationary_wave_formation"],
        [data-unit-visual-extension="stationary_node_phase_map"],
        [data-unit-visual-extension="stationary_experiment_compare"],
        [data-unit-visual-extension="diffraction_gap_model"],
        [data-unit-visual-extension="two_source_interference_map"],
        [data-unit-visual-extension="double_slit_geometry"],
        [data-unit-visual-extension="diffraction_grating_orders"]
    ) :is(.ch08-math-label, .ch08-text-label) {
        font-size: clamp(0.72rem, 2.7cqi, 0.82rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    :is(
        [data-unit-visual-extension="superposition_pulse_sum"],
        [data-unit-visual-extension="stationary_wave_formation"],
        [data-unit-visual-extension="stationary_node_phase_map"],
        [data-unit-visual-extension="stationary_experiment_compare"],
        [data-unit-visual-extension="diffraction_gap_model"],
        [data-unit-visual-extension="two_source_interference_map"],
        [data-unit-visual-extension="double_slit_geometry"],
        [data-unit-visual-extension="diffraction_grating_orders"]
    ) * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
