.aes-mechanism { margin:16px 0 20px; padding:12px 0 14px; border-block:1px solid #dce5ea; font-size:11px; }
.crypto-masters .course-body .aes-mechanism h4,.crypto-presentation .aes-mechanism h4 { font-size:11px; font-weight:600; margin:0 0 10px; }
.aes-focus { display:flex; gap:12px 28px; flex-wrap:wrap; }
.aes-focus fieldset { display:flex; align-items:center; gap:14px; border:0; margin:0; padding:0; }
.aes-focus legend { float:left; margin-right:12px; font:inherit; line-height:32px; }
.aes-focus label { display:inline-flex; align-items:center; gap:5px; min-height:32px; font:inherit; }
.aes-focus input { margin:0; accent-color:#28647f; }
.aes-focus fieldset:disabled { opacity:.55; }
.aes-focus .aes-speed { display:grid; grid-template-columns:auto 5ch minmax(56px,1fr) auto; align-items:center; gap:8px; width:320px; max-width:100%; margin-left:auto; min-height:32px; }
.aes-speed output { display:inline; font:inherit; text-align:right; font-variant-numeric:tabular-nums; }
.aes-speed input { width:100%; min-width:0; cursor:pointer; }
.aes-speed [data-aes-duration] { white-space:nowrap; font-variant-numeric:tabular-nums; }
.aes-mechanism .crypto-actions { margin:8px 0 12px; }
.aes-mechanism-scroll { max-width:100%; overflow:auto; }
.crypto-masters .course-body .aes-mechanism-scroll > svg,.crypto-presentation .aes-mechanism-scroll > svg { display:block; width:640px; height:448px; max-width:none; margin:0 auto; font:11px Verdana,sans-serif; }
.aes-mechanism-scroll text { fill:#334e60; text-anchor:middle; font-variant-numeric:tabular-nums; }
.aes-mechanism-scroll .aes-small { font-size:10px; fill:#637785; }
.aes-mechanism-scroll rect { fill:#f7f9fb; stroke:#b9c9d3; stroke-width:1; }
.aes-mechanism-scroll .aes-selected rect { fill:#e3f0f8; stroke:#28647f; stroke-width:1.6; }
.aes-mechanism-scroll .aes-wire { fill:none; stroke:#7d94a2; stroke-width:1.3; }
.aes-mechanism-scroll marker path { fill:#607f90; }
.aes-mechanism-scroll .aes-packet rect { fill:#fff4d8; stroke:#967534; stroke-width:1.3; }
.aes-mechanism-scroll .aes-packet text { fill:#513e1c; }
.aes-mechanism-scroll .aes-receipt rect { fill:#edf4f8; stroke:#7898ad; }
.aes-mechanism-scroll .aes-wait { opacity:.45; }
.aes-mechanism .aes-math { display:flex; align-items:center; justify-content:center; height:100%; font-size:11px; color:#173f68; }
.aes-mechanism .aes-math math { font-size:1em; }
.crypto-masters .course-body .aes-mechanism-status,.crypto-presentation .aes-mechanism-status { font-size:11px; line-height:1.7; height:5.1em; overflow:auto; margin:8px 0 0; }
.aes-comparison-title { font-size:11px; font-weight:400; margin:12px 0; }
.aes-context { margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid #dce5ea; }
.aes-context-map { max-width:100%; overflow-x:auto; }
.crypto-masters .course-body .aes-context-map svg,.crypto-presentation .aes-context-map svg { display:block; max-width:none; margin:0 auto; font:11px Verdana,sans-serif; }
.aes-context-map text { fill:#334e60; text-anchor:middle; }
.aes-context-map rect { fill:#f7f9fb; stroke:#b9c9d3; }
.aes-context-map .aes-context-wire { fill:none; stroke:#7d94a2; stroke-width:1.3; }
.aes-context-map marker path { fill:#607f90; }
.aes-context-map .aes-context-current rect { fill:#e3f0f8; stroke:#28647f; stroke-width:2; }
.crypto-masters .course-body .aes-context p,.crypto-presentation .aes-context p { font-size:11px; margin:10px 0; }
.aes-context-fixed { line-height:1.7; }
.aes-context [data-aes-context-position] { min-height:1.7em; font-weight:600; }
.aes-provenance { display:grid; grid-template-columns:130px minmax(0,1fr); gap:10px 12px; align-content:start; height:190px; margin:0; overflow:auto; font-size:11px; line-height:1.75; }
.aes-provenance dt { font-weight:600; }
.aes-provenance dd { margin:0; min-width:0; overflow-wrap:anywhere; }
.aes-provenance code { font-size:1.05em; white-space:normal; }
.aes-provenance math { font-size:1.1em; }
@media(max-width:640px) { .aes-provenance { grid-template-columns:1fr; gap:2px; height:320px; } .aes-provenance dd { margin-bottom:8px; } .aes-context [data-aes-context-position] { min-height:3.4em; } }
@media(max-width:540px) { .crypto-masters .course-body .aes-mechanism-status { height:6.8em; } }
