.moduleCourseInteractive {
	--mci-ink: #202426;
	--mci-muted: #646b6e;
	--mci-line: #cdd2d3;
	--mci-paper: #fff;
	--mci-scene: #f0f2f1;
	--mci-accent: rgb(166,23,23);
	--mci-accent-soft: rgba(166,23,23,.09);
	--mci-blue: #236b8e;
	--mci-blue-soft: #e2eef2;
	--mci-green: #2d7047;
	--mci-green-soft: #e4efe8;
	position: relative;
	container-type: inline-size;
	margin: 2.5rem 0;
	border-top: 1px solid var(--mci-line);
	border-bottom: 1px solid var(--mci-line);
	background: var(--mci-scene);
	color: var(--mci-ink);
	overflow: clip;
}

.moduleCourseInteractive * { box-sizing: border-box; }
.moduleCourseInteractive button { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; color: inherit; letter-spacing: 0; }
.moduleCourseInteractive button:focus-visible { outline: 3px solid rgba(166,23,23,.28); outline-offset: 3px; }
.moduleCourseInteractive button[hidden] { display: none !important; }

.moduleCourseInteractive_header {
	position: relative;
	z-index: 8;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.5rem;
	padding: clamp(1.15rem,2.2vw,1.75rem) clamp(1.1rem,2.5vw,1.8rem) .9rem;
}

.moduleCourseInteractive_heading { max-width: 52rem; }
.moduleCourseInteractive_eyebrow {
	margin-bottom: .45rem;
	color: var(--mci-accent);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: .7rem;
	font-weight: 750;
	line-height: 1.25;
	text-transform: uppercase;
}
.moduleCourseInteractive_title { margin: 0; font-size: clamp(1.35rem,2.3vw,1.75rem); font-weight: 650; line-height: 1.18; }
.moduleCourseInteractive_lead { max-width: 46rem; margin: .55rem 0 0; color: var(--mci-muted); line-height: 1.5; }
.moduleCourseInteractive_motion {
	display: grid;
	flex: 0 0 2.5rem;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--mci-muted) !important;
	cursor: pointer;
}
.moduleCourseInteractive_motion:hover { background: rgba(32,36,38,.06); color: var(--mci-ink) !important; }
.moduleCourseInteractive_motion span { font-size: .7rem; font-weight: 800; }
.moduleCourseInteractive_stage { position: relative; z-index: 6; }
.moduleCourseInteractive_overlay { position: absolute; z-index: 8; inset: 0; pointer-events: none; }
.moduleCourseInteractive_live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.moduleCourseInteractive_term { color: inherit; text-decoration: underline; text-decoration-style: dashed; text-underline-offset: .18em; }

.mciAnnotation {
	position: relative;
	max-width: 42rem;
	margin-top: 1rem;
	padding: .8rem 0 .8rem 1rem;
	border-left: 2px solid var(--mci-blue);
}
.mciAnnotation_title { margin: 0 0 .3rem; font-size: 1rem; line-height: 1.3; }
.mciAnnotation_text { margin: 0; color: var(--mci-muted); line-height: 1.48; }
.mciAnnotation_note { margin-top: .6rem; }
.mciAnnotation_note > span { color: var(--mci-muted); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: .68rem; font-weight: 750; text-transform: uppercase; }
.mciAnnotation_note > p { margin: .12rem 0 0; line-height: 1.42; }
.mciAnnotation_note.is-risk > span { color: var(--mci-accent); }
.mciAnnotation_note.is-result > span { color: var(--mci-green); }

/* Пространственное сравнение */
.mciCompareScene { position: relative; }
.mciCompareScene_viewport {
	position: relative;
	z-index: 6;
	height: clamp(31rem,61vw,38rem);
	min-height: 31rem;
	overflow: hidden;
	background: rgba(240,242,241,.08);
	isolation: isolate;
}
.mciCompareScene_status {
	position: absolute;
	z-index: 10;
	top: .75rem;
	left: 1rem;
	padding: .28rem .5rem;
	background: rgba(240,242,241,.88);
	color: var(--mci-muted);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: .72rem;
}
.mciCompareScene_status.is-ready { opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.mciCompareScene_status.is-error { max-width: calc(100% - 2rem); color: var(--mci-accent); opacity: 1; }
.mciCompareScene_loose {
	position: absolute;
	z-index: 8;
	top: 12%;
	left: clamp(1rem,4vw,2.5rem);
	display: grid;
	max-width: 13rem;
	padding-left: .8rem;
	border-left: 2px solid var(--mci-accent);
	pointer-events: none;
	transition: opacity .25s ease, transform .35s ease;
}
.mciCompareScene_loose strong { font-size: .92rem; line-height: 1.3; }
.mciCompareScene_loose span { margin-top: .25rem; color: var(--mci-muted); font-size: .78rem; line-height: 1.4; }
.mciCompareScene_loose.is-hidden { opacity: 0; transform: translateX(-12px); }
.mciCompareScene_labels { position: absolute; z-index: 9; inset: 0; pointer-events: none; }
.mciCompareScene_label {
	--mci-label-shift: -50%;
	position: absolute;
	left: clamp(5rem,var(--mci-x),calc(100% - 5rem));
	top: clamp(3.5rem,var(--mci-y),calc(100% - 8.5rem));
	min-height: 2.75rem;
	max-width: 10.5rem;
	padding: .38rem .55rem .38rem .7rem;
	border: 0;
	border-left: 2px solid var(--mci-blue);
	background: rgba(255,255,255,.9);
	box-shadow: 0 5px 18px rgba(32,36,38,.09);
	font-size: .74rem;
	font-weight: 650;
	line-height: 1.25;
	text-align: left;
	transform: translate(var(--mci-label-shift),-50%);
	transition: border-color .18s ease, background .18s ease, opacity .24s ease;
	pointer-events: auto;
	cursor: pointer;
}
.mciCompareScene_label::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 100%;
	width: 1.1rem;
	height: 1px;
	background: var(--mci-blue);
}
.mciCompareScene_label:hover { background: #fff; border-left-color: var(--mci-accent); }
.mciCompareScene_label.is-active { border-left-color: var(--mci-accent); background: #fff5f4; }
.mciCompareScene_label.is-active::before { background: var(--mci-accent); }
.mciCompareScene_callout {
	position: absolute;
	z-index: 11;
	left: clamp(1rem,calc(var(--mci-x) + 2.2rem),calc(100% - 18rem));
	top: clamp(4rem,calc(var(--mci-y) + 1.5rem),calc(100% - 14rem));
	width: min(17rem,calc(100% - 2rem));
	padding: .85rem 1rem;
	border-top: 2px solid var(--mci-accent);
	background: rgba(255,250,249,.96);
	box-shadow: 0 12px 32px rgba(57,31,29,.14);
	pointer-events: none;
}
.mciCompareScene_callout > span { color: var(--mci-accent); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: .67rem; font-weight: 750; text-transform: uppercase; }
.mciCompareScene_callout strong { display: block; margin-top: .2rem; font-size: .9rem; }
.mciCompareScene_callout p { margin: .35rem 0 0; font-size: .82rem; line-height: 1.42; }
.mciCompareScene_stateBar {
	position: absolute;
	z-index: 10;
	right: clamp(1rem,3vw,2rem);
	bottom: clamp(.8rem,2vw,1.35rem);
	left: clamp(1rem,3vw,2rem);
	display: grid;
	grid-template-columns: minmax(12rem,.9fr) minmax(20rem,1.4fr);
	gap: 1.5rem;
	align-items: end;
	padding-top: .65rem;
	border-top: 1px solid rgba(102,111,114,.38);
}
.mciCompareScene_stateText { display: grid; max-width: 24rem; }
.mciCompareScene_stateText strong { font-size: .92rem; }
.mciCompareScene_stateText span { margin-top: .18rem; color: var(--mci-muted); font-size: .76rem; line-height: 1.35; }
.mciCompareScene_scrubber {
	position: relative;
	display: grid;
	grid-template-columns: minmax(7rem,1fr) 3.5rem minmax(7rem,1fr);
	align-items: center;
	min-height: 3rem;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}
.mciCompareScene_scrubberLabel { color: var(--mci-muted); font-size: .72rem; line-height: 1.2; }
.mciCompareScene_scrubberLabel.is-start { padding-right: .65rem; text-align: right; }
.mciCompareScene_scrubberLabel.is-end { padding-left: .65rem; text-align: left; }
.mciCompareScene_scrubberTrack { position: relative; height: 2px; background: var(--mci-line); }
.mciCompareScene_scrubberTrack::before { content: ''; position: absolute; inset: 0; background: var(--mci-blue); transform: scaleX(0); transform-origin: left; transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.mciCompareScene_scrubberHandle {
	position: absolute;
	top: 50%;
	left: calc(50% - 1.75rem);
	width: 1rem;
	height: 1rem;
	border: 3px solid var(--mci-scene);
	border-radius: 50%;
	background: var(--mci-accent);
	box-shadow: 0 0 0 1px var(--mci-accent), 0 4px 10px rgba(166,23,23,.2);
	transform: translate(-50%,-50%);
	transition: left .55s cubic-bezier(.2,.8,.2,1);
}
.mciCompareScene_scrubber.is-managed .mciCompareScene_scrubberHandle { left: calc(50% + 1.75rem); }
.mciCompareScene_scrubber.is-managed .mciCompareScene_scrubberTrack::before { transform: scaleX(1); }
.mciCompareScene_scrubber:not(.is-managed) .is-start,
.mciCompareScene_scrubber.is-managed .is-end { color: var(--mci-ink); font-weight: 700; }

/* Пространственное различение объектов описания */
.mciScope { position: relative; }
.mciScope_navigation {
	position: relative;
	z-index: 7;
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	padding: 0 clamp(1rem,2.5vw,1.8rem);
}
.mciScope_view {
	position: relative;
	min-height: 3.35rem;
	padding: .7rem .55rem .65rem;
	border: 0;
	border-top: 1px solid rgba(100,107,110,.34);
	background: transparent;
	color: var(--mci-muted) !important;
	font-size: .72rem;
	font-weight: 650;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
}
.mciScope_view::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--mci-accent);
	transition: width .32s ease;
}
.mciScope_view + .mciScope_view { padding-left: .9rem; }
.mciScope_view:hover { color: var(--mci-ink) !important; }
.mciScope_view.is-active { color: var(--mci-ink) !important; }
.mciScope_view.is-active::before { width: 100%; }
.mciScope_viewport {
	position: relative;
	z-index: 6;
	height: 32rem;
	min-height: 32rem;
	border-top: 1px solid rgba(100,107,110,.18);
	background: rgba(240,242,241,.08);
	overflow: hidden;
}
.mciScope_status {
	position: absolute;
	z-index: 8;
	top: .75rem;
	left: clamp(1rem,2.5vw,1.8rem);
	padding: .28rem .48rem;
	background: rgba(240,242,241,.92);
	color: var(--mci-muted);
	font: .7rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.mciScope_status.is-ready { opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.mciScope_status.is-error { max-width: calc(100% - 2rem); color: var(--mci-accent); opacity: 1; }
.mciScope_caption {
	position: relative;
	z-index: 7;
	display: grid;
	grid-template-columns: minmax(0,1.05fr) minmax(14rem,.95fr);
	gap: clamp(1.25rem,3vw,2.5rem);
	min-height: 8.5rem;
	padding: 1.05rem clamp(1rem,2.5vw,1.8rem) 1.25rem;
	border-top: 1px solid rgba(100,107,110,.3);
	background: rgba(247,248,246,.96);
}
.mciScope_identity { padding-left: .9rem; border-left: 2px solid var(--mci-accent); }
.mciScope_term { color: var(--mci-accent); font: 750 .67rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciScope_statement { margin: .28rem 0 0; font-size: 1rem; line-height: 1.34; }
.mciScope_description { margin: .38rem 0 0; color: var(--mci-muted); font-size: .8rem; line-height: 1.48; }
.mciScope_relation { align-self: start; margin: 0; padding-top: .2rem; color: var(--mci-muted); font-size: .8rem; line-height: 1.5; }
.mciScope_relation::before { content: 'Связь понятий'; display: block; margin-bottom: .38rem; color: var(--mci-blue); font: 750 .62rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }

/* Нормативный разбор объекта */
.mciRegulatory { position: relative; }
.mciRegulatory_navigation {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	padding: 0 clamp(1rem,2.5vw,1.8rem) .2rem;
}
.mciRegulatory_step {
	position: relative;
	min-height: 3.45rem;
	padding: .72rem .65rem .58rem;
	border: 0;
	border-top: 1px solid rgba(102,111,114,.34);
	background: transparent;
	color: var(--mci-muted) !important;
	font-size: .68rem;
	line-height: 1.28;
	text-align: left;
	cursor: pointer;
}
.mciRegulatory_step::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--mci-accent);
	transition: width .28s ease;
}
.mciRegulatory_step + .mciRegulatory_step { padding-left: 1rem; }
.mciRegulatory_step strong { font-size: .69rem; font-weight: 650; }
.mciRegulatory_step:hover { color: var(--mci-ink) !important; }
.mciRegulatory_step.is-active { color: var(--mci-ink) !important; }
.mciRegulatory_step.is-active::before { width: 100%; }
.mciRegulatory_experience {
	display: grid;
	grid-template-columns: minmax(0,1.65fr) minmax(18rem,.78fr);
	min-height: 38rem;
	border-top: 1px solid rgba(102,111,114,.2);
}
.mciRegulatory_viewport {
	position: relative;
	z-index: 6;
	height: 38rem;
	min-height: 38rem;
	overflow: hidden;
	background: rgba(240,242,241,.08);
	isolation: isolate;
}
.mciRegulatory_status {
	position: absolute;
	z-index: 14;
	top: .75rem;
	left: 1rem;
	padding: .28rem .5rem;
	background: rgba(240,242,241,.9);
	color: var(--mci-muted);
	font: .72rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
.mciRegulatory_status.is-ready { opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.mciRegulatory_status.is-error { max-width: calc(100% - 2rem); color: var(--mci-accent); opacity: 1; }
.mciRegulatory_panel {
	position: relative;
	z-index: 8;
	display: flex;
	flex-direction: column;
	height: 38rem;
	padding: clamp(1.15rem,2.6vw,1.7rem) clamp(1rem,2.4vw,1.5rem) 1rem;
	border-left: 1px solid rgba(102,111,114,.28);
	background: rgba(255,255,255,.74);
	overflow-y: auto;
}
.mciRegulatory_stepLabel { color: var(--mci-accent); font: 750 .63rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciRegulatory_stepTitle { margin: .38rem 0 0; font-size: 1.02rem; line-height: 1.3; }
.mciRegulatory_stepText { margin: .48rem 0 0; color: var(--mci-muted); font-size: .76rem; line-height: 1.48; }
.mciRegulatory_itemCaption { margin-top: 1.15rem; padding-top: .78rem; border-top: 1px solid var(--mci-line); color: var(--mci-blue); font: 750 .61rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciRegulatory_itemTitle { margin: .28rem 0 0; font-size: .96rem; line-height: 1.3; }
.mciRegulatory_itemDetail { margin: .42rem 0 0; font-size: .77rem; line-height: 1.47; }
.mciRegulatory_details { margin-top: .25rem; }
.mciRegulatory_sources {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem .75rem;
	align-content: start;
	margin-top: .75rem;
	padding-top: .65rem;
	border-top: 1px solid rgba(102,111,114,.22);
}
.mciRegulatory_sourcesTitle { flex: 0 0 100%; margin-bottom: .15rem; color: var(--mci-muted); font: 750 .61rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciRegulatory_source {
	display: inline-flex;
	align-items: baseline;
	gap: .35rem;
	padding: .12rem 0;
	white-space: nowrap;
}
.mciRegulatory_source + .mciRegulatory_source::before { content: '\00b7'; margin-right: .35rem; color: var(--mci-line); }
.mciRegulatory_source strong { font-size: .68rem; line-height: 1.25; }
.mciRegulatory_source span { color: var(--mci-muted); font: .61rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; line-height: 1.3; }
.mciRegulatory_field { margin-top: .58rem; padding-top: .48rem; border-top: 1px solid var(--mci-line); }
.mciRegulatory_field > span { color: var(--mci-muted); font: 750 .59rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciRegulatory_field > p { margin: .12rem 0 0; font-size: .72rem; line-height: 1.38; }
.mciRegulatory_field.is-evidence { border-top-color: rgba(45,112,71,.42); }
.mciRegulatory_field.is-evidence > span { color: var(--mci-green); }
.mciRegulatory_field.is-consequence { border-top-color: rgba(166,23,23,.34); }
.mciRegulatory_field.is-consequence > span { color: var(--mci-accent); }
.mciRegulatory_controls {
	display: grid;
	grid-template-columns: 2.75rem 1fr 2.75rem;
	align-items: center;
	gap: .5rem;
	margin: .75rem 0 .15rem;
	padding: .65rem 0;
	border-top: 1px solid var(--mci-line);
	border-bottom: 1px solid var(--mci-line);
}
.mciRegulatory_control { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid var(--mci-line); border-radius: 50%; background: rgba(255,255,255,.9); font-size: 1.15rem; cursor: pointer; }
.mciRegulatory_control:hover:not(:disabled) { border-color: var(--mci-accent); color: var(--mci-accent) !important; }
.mciRegulatory_control:disabled { opacity: .28; cursor: default; }
.mciRegulatory_progress { color: var(--mci-muted); font: .67rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-align: center; }

/* Общие двухмерные сцены до их предметной переработки */
.mciTimeline, .mciFlow_scene, .mciDocumentMap, .mciHierarchy_layout, .mciRequirement, .mciSimulator, .mciSystemMap, .mciInspector, .mciLifecycle { padding: 1rem clamp(1rem,2.4vw,1.75rem) 1.5rem; }
.mciTimeline { overflow-x: auto; }
.mciTimeline_axis { display: flex; justify-content: space-between; min-width: 44rem; color: var(--mci-muted); font: .7rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; }
.mciTimeline_items { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(8.5rem,1fr); gap: .7rem; min-width: 44rem; padding-top: 1.4rem; }
.mciTimeline_items::before { content: ''; position: absolute; top: .45rem; right: 0; left: 0; height: 1px; background: var(--mci-line); }
.mciTimeline_item, .mciFlow_node, .mciHierarchy_item, .mciDocumentMap_item, .mciLifecycle_stage, .mciSimulator_check, .mciSimulator_result, .mciSystemMap_node, .mciSystemMap_route, .mciInspector_part {
	min-height: 3rem;
	padding: .6rem .7rem;
	border: 0;
	border-bottom: 1px solid var(--mci-line);
	background: transparent;
	text-align: left;
	cursor: pointer;
}
.mciTimeline_item.is-active, .mciFlow_node.is-active, .mciHierarchy_item.is-active, .mciDocumentMap_item.is-active, .mciLifecycle_stage.is-active, .mciSystemMap_node.is-active, .mciInspector_part.is-selected { border-bottom-color: var(--mci-accent); color: var(--mci-accent); }
.mciFlow { display: flex; align-items: center; gap: .4rem; overflow-x: auto; }
.mciFlow_node { flex: 1 0 8.5rem; text-align: center; }
.mciFlow_connector { flex: 0 0 6.2rem; min-height: 3rem; border: 0; background: transparent; color: var(--mci-blue) !important; cursor: pointer; }
.mciFlow_arrow { display: block; font-size: 1.35rem; }
.mciDocumentMap_filters { display: flex; gap: .35rem; overflow-x: auto; }
.mciDocumentMap_filter { min-height: 2.75rem; padding: .4rem .65rem; border: 0; border-bottom: 1px solid var(--mci-line); background: transparent; cursor: pointer; }
.mciDocumentMap_filter.is-active { border-bottom-color: var(--mci-accent); color: var(--mci-accent); }
.mciDocumentMap_axis { margin-top: .8rem; color: var(--mci-muted); font: .7rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciDocumentMap_landscape { display: grid; grid-template-columns: repeat(4,minmax(10rem,1fr)); gap: .7rem; overflow-x: auto; margin-top: .6rem; }
.mciDocumentMap_item { min-height: 6rem; border-left: 2px solid var(--mci-line); }
.mciDocumentMap_period, .mciDocumentMap_item small { display: block; margin-top: .35rem; color: var(--mci-muted); font-size: .72rem; }
.mciHierarchy { display: grid; grid-template-columns: minmax(0,2fr) minmax(12rem,1fr); gap: 1rem; }
.mciHierarchy_children { display: grid; grid-template-columns: repeat(auto-fit,minmax(10rem,1fr)); gap: .65rem; margin: .7rem 0 0 1rem; padding-left: .8rem; border-left: 1px solid var(--mci-line); }
.mciHierarchy_external { padding-left: .8rem; border-left: 1px dashed var(--mci-muted); }
.mciHierarchy_external > span { color: var(--mci-muted); font: .7rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciRequirement_sentence { display: flex; flex-wrap: wrap; gap: .25rem; padding-left: 1rem; border-left: 2px solid var(--mci-line); line-height: 1.65; }
.mciRequirement_segment { min-height: 2.75rem; padding: .15rem .35rem; border: 0; border-bottom: 1px solid transparent; background: transparent; cursor: pointer; }
.mciRequirement_segment.is-active { border-bottom-color: var(--mci-accent); color: var(--mci-accent); }
.mciRequirement_formula { display: grid; grid-template-columns: max-content minmax(0,1fr); gap: .25rem .8rem; margin-top: 1rem; padding: .8rem 0; border-top: 2px solid var(--mci-blue); }
.mciRequirement_formula > span { grid-row: 1 / span 2; color: var(--mci-blue); font: .68rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciRequirement_formula p { margin: 0; }
.mciSimulator { display: grid; grid-template-columns: minmax(9rem,.75fr) minmax(15rem,1.4fr) minmax(9rem,.75fr); gap: 1rem; }
.mciSimulator_column, .mciSimulator_cascade { display: grid; align-content: start; gap: .4rem; }
.mciSimulator_column h4 { margin: 0; color: var(--mci-muted); font: .7rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciSimulator_step { display: grid; grid-template-columns: 1.7rem minmax(0,1fr); gap: .1rem .55rem; padding: .55rem 0; border-bottom: 1px solid var(--mci-line); }
.mciSimulator_step > span { grid-row: 1 / span 2; color: var(--mci-muted); }
.mciSimulator_step p { margin: 0; }
.mciSimulator_step.is-passed { border-bottom-color: var(--mci-green); }
.mciSimulator_annotation { grid-column: 1 / -1; }
.mciSystemMap { position: relative; min-height: 28rem; padding-bottom: 7rem; }
.mciSystemMap_layers { position: relative; z-index: 2; display: grid; gap: .6rem; }
.mciSystemMap_layer { display: grid; grid-template-columns: 9rem minmax(0,1fr); align-items: center; gap: .6rem; padding: .6rem 0; border-bottom: 1px solid var(--mci-line); }
.mciSystemMap_layer h4 { margin: 0; color: var(--mci-muted); font: .7rem -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; text-transform: uppercase; }
.mciSystemMap_nodes { display: flex; flex-wrap: wrap; gap: .35rem; }
.mciSystemMap_edges { position: absolute; z-index: 1; inset: 1rem 1rem 7rem; width: calc(100% - 2rem); height: calc(100% - 8rem); pointer-events: none; }
.mciSystemMap_edges path { fill: none; stroke: var(--mci-blue); stroke-width: 2; stroke-dasharray: 5 5; opacity: .45; }
.mciSystemMap_edges path.is-active { stroke: var(--mci-accent); opacity: 1; }
.mciSystemMap_routes { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: flex; gap: .5rem; overflow-x: auto; }
.mciSystemMap_route { flex: 0 0 11rem; }
.mciSystemMap_route small { display: block; color: var(--mci-muted); }
.mciSystemMap_annotation { position: absolute; right: 1rem; bottom: 6.3rem; left: 1rem; }
.mciLifecycle { position: relative; min-height: 31rem; }
.mciLifecycle_object { display: grid; place-content: center; min-height: 8rem; text-align: center; }
.mciLifecycle_object span { color: var(--mci-accent); font-size: .75rem; }
.mciLifecycle_stages { display: flex; gap: .5rem; overflow-x: auto; margin-top: .8rem; }
.mciLifecycle_stage { flex: 1 0 8rem; text-align: center; }
.mciLifecycle_dimensions { display: grid; grid-template-columns: repeat(auto-fit,minmax(11rem,1fr)); gap: .65rem; margin-top: 1rem; }
.mciLifecycle_dimension { padding-top: .55rem; border-top: 1px solid var(--mci-blue); }
.mciLifecycle_dimension span { color: var(--mci-muted); font-size: .7rem; text-transform: uppercase; }
.mciLifecycle_dimension p { margin: .2rem 0 0; }

/* Трехмерный инспектор */
.mciWebglCanvas { position: fixed; z-index: 5; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.mciInspector { display: grid; grid-template-columns: minmax(18rem,1.4fr) minmax(13rem,.8fr); gap: 1rem; }
.mciInspector_viewport { position: relative; z-index: 6; min-height: 25rem; background: rgba(240,242,241,.08); }
.mciInspector_status { position: absolute; z-index: 7; top: .65rem; left: .65rem; padding: .35rem .5rem; background: rgba(240,242,241,.9); color: var(--mci-muted); font-size: .72rem; }
.mciInspector_status.is-ready { opacity: 0; }
.mciInspector_status.is-error { color: var(--mci-accent); opacity: 1; }
.mciInspector_controls { position: relative; z-index: 6; display: grid; align-content: start; }
.mciInspector_part { opacity: .5; }
.mciInspector_part.is-active { opacity: 1; border-bottom-color: var(--mci-blue); }
.mciInspector_part small { display: block; color: var(--mci-muted); }
.mciInspector_summary { grid-column: 1 / -1; padding-left: .8rem; border-left: 2px solid var(--mci-green); }
.mciInspector_summary.is-incomplete { border-left-color: var(--mci-accent); }
.mciInspector_summary p { margin: .2rem 0 0; }
.mciInspector_annotation { grid-column: 1 / -1; }
.moduleCourseInteractive_error { padding: 1rem; border-color: rgba(166,23,23,.4); background: #fff5f4; }
.moduleCourseInteractive_error p { margin: .3rem 0 0; }

@media (max-width: 900px) {
	.mciCompareScene_stateBar { grid-template-columns: 1fr; gap: .65rem; }
	.mciSimulator { grid-template-columns: 1fr 1.2fr; }
	.mciSimulator_column:last-of-type { grid-column: 1 / -1; }
	.mciSystemMap_layer { grid-template-columns: 7rem minmax(0,1fr); }
}

@media (max-width: 640px) {
	.moduleCourseInteractive { margin-right: -.35rem; margin-left: -.35rem; }
	.moduleCourseInteractive_header { padding: 1rem .9rem .55rem; }
	.moduleCourseInteractive_title { font-size: 1.35rem; }
	.moduleCourseInteractive_lead { font-size: .9rem; }
	.moduleCourseInteractive_motion { flex-basis: 2.25rem; width: 2.25rem; height: 2.25rem; }
	.mciCompareScene_viewport { height: 42rem; min-height: 42rem; }
	.mciCompareScene_loose { top: 8%; max-width: 10.5rem; }
	.mciCompareScene_stateBar { right: .8rem; bottom: .65rem; left: .8rem; }
	.mciCompareScene_stateText span { display: none; }
	.mciCompareScene_scrubber { grid-template-columns: minmax(5.5rem,1fr) 3rem minmax(5.5rem,1fr); }
	.mciCompareScene_scrubberLabel { font-size: .65rem; }
	.mciCompareScene_label { max-width: 7.4rem; min-height: 2.4rem; padding: .3rem .4rem .3rem .55rem; font-size: .66rem; }
	.mciCompareScene_callout { left: 1rem; top: auto; bottom: 8.2rem; width: calc(100% - 2rem); }
	.mciScope_navigation { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0 .9rem; }
	.mciScope_view:nth-child(n+3) { border-top-color: rgba(100,107,110,.2); }
	.mciScope_viewport { height: 23rem; min-height: 23rem; }
	.mciScope_caption { grid-template-columns: 1fr; gap: .85rem; padding: .9rem; }
	.mciScope_statement { font-size: .94rem; }
	.mciHierarchy { grid-template-columns: 1fr; }
	.mciHierarchy_children { grid-template-columns: 1fr; margin-left: .35rem; }
	.mciDocumentMap_landscape { grid-template-columns: repeat(4,11.5rem); }
	.mciRequirement_formula { grid-template-columns: 1fr; }
	.mciRequirement_formula > span { grid-row: auto; }
	.mciSimulator { grid-template-columns: 1fr; }
	.mciSimulator_column:last-of-type { grid-column: auto; }
	.mciSystemMap_layer { grid-template-columns: 1fr; }
	.mciSystemMap_nodes { flex-wrap: nowrap; overflow-x: auto; }
	.mciSystemMap_node { flex: 0 0 7.5rem; }
	.mciInspector { grid-template-columns: 1fr; }
	.mciInspector_viewport { min-height: 22rem; }
	.mciInspector_controls { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Адаптация определяется шириной учебного блока, а не окна браузера. */
@container (max-width: 760px) {
	.mciRegulatory_experience { grid-template-columns: 1fr; }
	.mciRegulatory_viewport { height: 30rem; min-height: 30rem; }
	.mciRegulatory_panel { height: auto; max-height: none; padding: 1.15rem 1rem .9rem; border-top: 1px solid var(--mci-line); border-left: 0; }
	.mciRegulatory_controls { padding-bottom: .65rem; }
}

@container (max-width: 520px) {
	.mciRegulatory_navigation { grid-template-columns: repeat(4,9.25rem); overflow-x: auto; padding: 0 .85rem .2rem; }
	.mciRegulatory_viewport { height: 26rem; min-height: 26rem; }
	.mciRegulatory_panel { padding: 1rem .85rem .8rem; }
}

@media (prefers-reduced-motion: reduce) {
	.moduleCourseInteractive *, .moduleCourseInteractive *::before, .moduleCourseInteractive *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
.moduleCourseInteractive.is-motion-reduced *, .moduleCourseInteractive.is-motion-reduced *::before, .moduleCourseInteractive.is-motion-reduced *::after { transition: none !important; animation: none !important; }
