:is(.crypto-masters, .security-course) .scheme-definition { margin: 1.3rem 0 1.7rem; padding: 1rem 0 0; border-top: 1px solid #dce3e7; }
:is(.crypto-masters, .security-course) .scheme-definition h4 { font-size: 13px; line-height: 1.5; margin: 0 0 .6rem; }
:is(.crypto-masters, .security-course) .scheme-tuple { margin: .7rem 0; overflow-x: auto; padding: .3rem 0; }
:is(.crypto-masters, .security-course) .scheme-algorithms { border-top: 1px solid #dce3e7; }
:is(.crypto-masters, .security-course) .scheme-algorithm { display: grid; grid-template-columns: minmax(210px, .9fr) minmax(0, 1.5fr); gap: 1rem; padding: .7rem .25rem; border-bottom: 1px solid #e6ebee; }
:is(.crypto-masters, .security-course) .scheme-call, :is(.crypto-masters, .security-course) .scheme-body { min-width: 0; overflow-x: auto; padding: .2rem; }
:is(.crypto-masters, .security-course) .scheme-call { align-self: start; }
:is(.crypto-masters, .security-course) .scheme-result { display: block; padding-top: .4rem; }
:is(.crypto-masters, .security-course) .scheme-body > div { margin-bottom: .25rem; padding: .16rem 0; }
:is(.crypto-masters, .security-course) .scheme-body p { margin: .4rem 0 0; font-size: 12px; line-height: 1.65; }
:is(.crypto-masters, .security-course) .scheme-algorithms math, :is(.crypto-masters, .security-course) .scheme-tuple math { font-size: 15px; }
:is(.crypto-masters, .security-course) .scheme-flow { margin: 1rem 0 1.25rem; }
:is(.crypto-masters, .security-course) .scheme-scroll { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
:is(.crypto-masters, .security-course) .scheme-scroll > svg { display: block; width: var(--scheme-width, 740px); max-width: none; height: auto; margin: 0 auto; font: 11px Verdana, sans-serif; color: #273741; }
.scheme-actor { fill: #eff3f5; stroke: #aebec8; stroke-width: 1; }
.scheme-operation { fill: #f9fbfc; stroke: #c6d2da; stroke-width: 1; }
.scheme-lifeline { fill: none; stroke: #c5d1d8; stroke-dasharray: 3 5; }
.scheme-message { fill: none; stroke: #507083; stroke-width: 1.4; }
:is(.crypto-masters, .security-course) .scheme-formula { display: block; margin: 0; padding: 0; border: 0; color: #204e75; }
:is(.crypto-masters, .security-course) .scheme-math-transcript { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
:is(.crypto-masters, .security-course) .scheme-op-note { font: 10px/1.45 Verdana, sans-serif; text-align: center; color: #52636d; }
.scheme-message-label { fill: #52636d; font-size: 10px; }
.scheme-flow .is-current .scheme-operation { fill: #edf5fb; stroke: #316f9a; stroke-width: 1.7; }
.scheme-flow .is-current .scheme-message { stroke: #236696; stroke-width: 2.2; }
.scheme-flow .scheme-packet { fill: #236696; stroke: white; stroke-width: 1; }
.scheme-flow [hidden] { display: none !important; }
:is(.crypto-masters, .security-course) .scheme-controls { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; min-height: 40px; margin-top: .5rem; padding: .3rem 0; }
:is(.crypto-masters, .security-course) .scheme-controls button { width: 29px; height: 29px; padding: 6px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #d7e0e5; border-radius: 50%; background: #f6f8fa; color: #37556b; box-shadow: none; transform: none; }
:is(.crypto-masters, .security-course) .scheme-controls button:hover { background: #eaf0f4; box-shadow: 0 1px 2px #203a5014; }
:is(.crypto-masters, .security-course) .scheme-controls button:focus-visible { outline: 2px solid #517c99; outline-offset: 2px; }
:is(.crypto-masters, .security-course) .scheme-controls button:disabled { opacity: .4; cursor: default; }
:is(.crypto-masters, .security-course) .scheme-controls svg { width: 15px; height: 15px; }
:is(.crypto-masters, .security-course) .scheme-controls label { display: inline-flex; align-items: center; gap: .35rem; font-size: 11px; margin: 0 0 0 auto; }
:is(.crypto-masters, .security-course) .scheme-controls select { font: inherit; min-width: 85px; padding: 4px; border: 1px solid #d7e0e5; border-radius: 3px; background: white; }
:is(.crypto-masters, .security-course) .scheme-progress { min-width: 110px; font-size: 11px; color: #52636d; }
:is(.crypto-masters, .security-course) .scheme-flow figcaption { margin: .35rem 0 0; font-size: 11px; line-height: 1.7; color: #52636d; }
@media (max-width: 760px) {
  :is(.crypto-masters, .security-course) .scheme-algorithm { grid-template-columns: minmax(0,1fr); gap: .35rem; }
  :is(.crypto-masters, .security-course) .scheme-controls label { margin-left: 0; }
}
@media print {
  :is(.crypto-masters, .security-course) .scheme-controls { display: none !important; }
  :is(.crypto-masters, .security-course) .scheme-scroll > svg { width: 100%; }
  :is(.crypto-masters, .security-course) .scheme-scroll { overflow: visible; }
  .scheme-flow .is-current .scheme-operation { fill: #f9fbfc; stroke: #c6d2da; stroke-width: 1; }
}
